首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

sqlbulkcopy只能向远程数据库更新一列,列多了就提示超时解决方法

2012-03-09 
sqlbulkcopy只能向远程数据库更新一列,列多了就提示超时sqlbulkcopy只能向远程数据库更新一列,列多了就提

sqlbulkcopy只能向远程数据库更新一列,列多了就提示超时
sqlbulkcopy只能向远程数据库更新一列,列多了就提示超时。

代码如下:
  Dim mytable As New DataTable("集团产品信息表")
  mytable.Columns.Add("UPC")
  mytable.Columns.Add("英文名称")
  mytable.Columns.Add("中文名称")
  mytable.Columns.Add("单位")
  mytable.Columns.Add("毛重")
  mytable.Columns.Add("长")
  mytable.Columns.Add("宽")
  mytable.Columns.Add("高")
  mytable.Columns.Add("件数")
  mytable.Columns.Add("包装方式")
  mytable.Columns.Add("中方办公室")
  mytable.Columns.Add("中方负责人")
  mytable.Columns.Add("备注")

  Dim newrow As DataRow
  Dim i As Integer
  For i = 0 To dgv.Rows.Count - 1

  newrow = mytable.NewRow
  newrow("UPC") = dgv.Rows(i).Cells(0).Value
  newrow("英文名称") = dgv.Rows(i).Cells(1).Value
  newrow("中文名称") = dgv.Rows(i).Cells(2).Value
  newrow("单位") = dgv.Rows(i).Cells(3).Value
  newrow("毛重") = dgv.Rows(i).Cells(4).Value
  newrow("长") = dgv.Rows(i).Cells(5).Value
  newrow("宽") = dgv.Rows(i).Cells(6).Value
  newrow("高") = dgv.Rows(i).Cells(7).Value
  newrow("件数") = dgv.Rows(i).Cells(8).Value
  newrow("包装方式") = dgv.Rows(i).Cells(9).Value
  newrow("中方办公室") = dgv.Rows(i).Cells(10).Value
  newrow("中方负责人") = dgv.Rows(i).Cells(11).Value
  newrow("备注") = dgv.Rows(i).Cells(12).Value
  mytable.Rows.Add(newrow)
  Next



  Dim bcp As SqlBulkCopy = New SqlBulkCopy("data source=xx.xx.xx.xx\SQL2005,1449;initial catalog=GTZD;uid=GTZD;pwd=GTZD123ZJ;max pool size=10000;Connect Timeout=5000")  

  bcp.DestinationTableName = "集团产品信息表"
  bcp.WriteToServer(mytable)


UPC为数据表中的主键。只保留UPC一列的时候可以更新,但是增加其它列后就提示:超时时间已到。在操作完成之前超时时间已过或服务器未响应。

但是远程数据库服务器没问题,更新的同时用SQL Server Management Studio可以连接到数据库

表中共15000条数据。



[解决办法]
sqlbulkcopy 是这样用的?
我记得好像不需要用什么 FOR 啊。

热点排行