Foxtable(狐表)用户栏目专家坐堂 → SqlBulkCopy 清空源表数据处理


  共有2324人关注过本帖树形打印复制链接

主题:SqlBulkCopy 清空源表数据处理

帅哥哟,离线,有人找我吗?
fubblyc
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
SqlBulkCopy 清空源表数据处理  发帖心情 Post By:2019/4/23 16:13:00 [只看该作者]

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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/23 19:30:00 [只看该作者]

 

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

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2019/4/24 14:05:00 [只看该作者]

甜老师,每个人配一个表格,因为我这是N多用户上传上来的,
我每人配一个表格,会不会不合适。

还是我理解有误呢




 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/24 15:05:00 [只看该作者]

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

还是我理解有误呢



 

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

 

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

 


 回到顶部