SqlBulkCopy大数据量时超时解决办法

SqlBulkCopy大数据量时超时解决办法

在用SqlBukiCopy时,数据量一到1000000就报下面的错:
异常详细信息: System.Data.SqlClient.SqlException: 超时时间已到。在操作完成之前超时时间已过或服务器未响应。

对于基于 x86 的计算机
http://download.microsoft.com/download/2/C/5/2C5BCDC9-3241-443A-9F96-4E0B0EDFA727/NDP20-KB916002-X86.exe
对于基于 x64 的计算机

http://download.microsoft.com/download/D/3/9/D39C79DF-4158-45DF-9031-92C52AB0ED19/NDP20-KB916002-X64.exe 

对于基于 Itanium 的计算机

http://download.microsoft.com/download/0/0/3/00392DD3-5B4F-4D99-94E8-6827B8F8D7EF/NDP20-KB916002-IA64.exe

 

转载于:https://www.cnblogs.com/AlbertFei/articles/3557777.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用以下步骤将SQL Server表数据复制到Oracle: 1. 在Oracle数据库中创建一个新的表,与SQL Server表具有相同的结构。 2. 在SQL Server中打开查询窗口,编写一个SELECT语句来获取要复制的数据。 3. 使用SqlDataReader对象读取SELECT语句的结果。 4. 使用Oracle.DataAccess.Client命名空间中的OracleBulkCopy类将数据复制到Oracle表中。 以下是示例代码: ``` // SQL Server连接字符串 string sqlConnectionString = "Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;"; // Oracle连接字符串 string oracleConnectionString = "Data Source=myOracleDataSource;User Id=myUsername;Password=myPassword;"; // 要复制的SQL Server表 string sqlTableName = "myTable"; // 在Oracle中创建表 string createTableSql = "CREATE TABLE myTable (column1 varchar2(50), column2 number(10,2), column3 date)"; using (SqlConnection sqlConnection = new SqlConnection(sqlConnectionString)) { sqlConnection.Open(); // 获取要复制的数据 string selectSql = "SELECT column1, column2, column3 FROM " + sqlTableName; SqlCommand sqlCommand = new SqlCommand(selectSql, sqlConnection); SqlDataReader sqlDataReader = sqlCommand.ExecuteReader(); using (OracleConnection oracleConnection = new OracleConnection(oracleConnectionString)) { oracleConnection.Open(); // 在Oracle中创建表 OracleCommand oracleCommand = new OracleCommand(createTableSql, oracleConnection); oracleCommand.ExecuteNonQuery(); // 使用OracleBulkCopy将数据复制到Oracle表中 OracleBulkCopy oracleBulkCopy = new OracleBulkCopy(oracleConnection); oracleBulkCopy.DestinationTableName = "myTable"; oracleBulkCopy.WriteToServer(sqlDataReader); } } ``` 请注意,您需要安装Oracle.DataAccess NuGet包才能使用OracleBulkCopy类。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值