专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > VB Dotnet

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

发布时间:2011-06-23 16:03:10 文章来源:www.iduyao.cn 采编人员:星星草
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 啊。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: