Dim tb1 As Table = Args(0) '要发送的表,源表
Dim tb2 As String = Args(1) '要接收的表
Dim st1 As Date = Date.Now
Dim tran As System.Data.SqlClient.SqlTransaction
try
Dim conn As new System.Data.SqlClient.SqlConnection("server=10;uid=a;pwd=1;database=a")
conn.Open() '打开链接
tran = conn.BeginTransaction()
Dim copy As new System.Data.SqlClient.SqlBulkCopy(conn, System.Data.SqlClient.SqlBulkCopyOptions.Default, tran)
For Each dc As DataCol In tb1.DataTable.datacols
Dim mapping1 As new System.Data.SqlClient.SqlBulkCopyColumnMapping(dc.name, dc.name)
Copy.ColumnMappings.Add(mapping1)
Next
copy.DestinationTableName = tb2 '指定服务器上目标表的名称
copy.BatchSize = 1000
copy.WriteToServer(tb1.DataTable.basetable) '你的datatable名字,执行把DataTable中的数据写入DB
tran.Commit() '提交事务
tb1.DataTable.clear()
老师 ,
想要导入后,将源表的数据清空,
因为是服务端,数据在不同的客户端源源不断提交上来,
那担心,会不会同时也把后面提交上来的还没复制到目标表里去的源表的记录给清空了呢?
catch ex As exception
tran.Rollback() '返回False 执行失败!
End try
[此贴子已经被作者于2019/8/20 14:29:54编辑过]