我遇到了这个问题,这是我第二次停止工作,所有的工作现在都没用了。我通过制表符分隔文本文件将一百万条记录传输到SQL Server 2012数据库表。移动此类记录需要总共3个小时,因为服务器距离太远。
不知怎的,我的连接破坏了服务器并且程序处理了60万行并且出现了这个错误,当我修复连接错误并继续应用程序时它不会将记录传输到数据库,所以我必须关闭应用程序然后再试一次。
将请求发送到服务器时发生传输级错误。 (提供者:TCP提供者,错误:0 - 远程主机强行关闭现有连接。)
我的代码
public void bulkinsert_US(string tablename, DataTable dt)
{
if (con2.State == ConnectionState.Closed)
{
con2.Open();
}
SqlBulkCopy blkcopy = new SqlBulkCopy(con2);
blkcopy.DestinationTableName = tablename;
blkcopy.BatchSize = dt.Rows.Count;
blkcopy.BulkCopyTimeout = 0;
toolStripProgressBar1.Minimum = 0;
this.Invoke(new MethodInvoker(delegate()
{ toolStripProgressBar1.Maximum = blkcopy.BatchSize; }));
blkcopy.NotifyAfter = 1000;
blkcopy.SqlRowsCopied +=blkcopy_SqlRowsCopied;
blkcopy.WriteToServer(dt);
blkcopy.Close();
}
我正在寻找一个处理解决方案,以便我不必关闭应用程序并重新开始。