以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  SqlBulkCopy 清空源表数据处理  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=133924)

--  作者:fubblyc
--  发布时间:2019/4/23 16:13:00
--  SqlBulkCopy 清空源表数据处理
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编辑过]

--  作者:有点甜
--  发布时间:2019/4/23 19:30:00
--  

 

每一个人,单独配置一个表格,不就好了?

 

 


--  作者:fubblyc
--  发布时间:2019/4/24 14:05:00
--  
甜老师,每个人配一个表格,因为我这是N多用户上传上来的,
我每人配一个表格,会不会不合适。

还是我理解有误呢




--  作者:有点甜
--  发布时间:2019/4/24 15:05:00
--  
以下是引用fubblyc在2019/4/24 14:05:00的发言:
甜老师,每个人配一个表格,因为我这是N多用户上传上来的,
我每人配一个表格,会不会不合适。

还是我理解有误呢



 

动态生成临时表,每次上传动态分配一个datatable

 

http://www.foxtable.com/webhelp/scr/0679.htm