100分,大量数据插入数据库的好方法!
现在 画面 上 已经 有一个 存有 几十万条 数据的 datatable,
要求把datatable插入到对应的一个表里,怎样 做 更快 一些!
DB: sqlserver2005
数据量: 二十万条左右
sqlserver 应该 不支持 批量 插入 ,请大家提供 一下 建议 ~!
[解决办法]
SqlBulkCopy 类
http://msdn.microsoft.com/zh-cn/library/ms294344(vs.80).aspx
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)
http://feiyun0112.cnblogs.com/
[解决办法]
要不生成文件,然后用DTS试试
估计也快不了多少,毕竟数据量就是那么多
[解决办法]
我只知道最笨的办法就是逐条读出datatable,逐条插入
[解决办法]
用SqlBulkCopy不知道可以满足你的需求不?
[解决办法]
Public Function fnc_TransferData(ByVal ds As DataSet) As Boolean
Dim bResult As Boolean
Try
'用bcp导入数据 (m_strCon 数据库连接字符串)
Using bcp As New System.Data.SqlClient.SqlBulkCopy(m_strCon)
'每次传输的行数
bcp.BatchSize = 100
'目标表
bcp.DestinationTableName = tableName
bcp.WriteToServer(ds.Tables(0))
End Using
bResult = True
Catch ex As Exception
'MessageBox.Show(ex.Message)
End Try
Return bResult
End Function
参考:SqlBulkCopy与大量数据高速导入数据库
[解决办法]
用bulkcopy,学习了
[解决办法]
没处理过这么大的数据量,所以暂时没有遇到速度的问题……呵呵