以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  事务执行 怎么将本地mdb文件中的指定表数据 快速复制到sql数据库中呢?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=147977)

--  作者:李孝春
--  发布时间:2020/3/28 11:44:00
--  事务执行 怎么将本地mdb文件中的指定表数据 快速复制到sql数据库中呢?
在论坛中找到如下事件代码,是遍历表A,然后把表中数据写入表D
怎么实现遍历本地 a.mdb 文件,然后遍历这个文件中的表A ,再把数据写入表D 呢?

Dim tran As System.Data.SqlClient.SqlTransaction

try
    Dim conn As new System.Data.SqlClient.SqlConnection("server=voyo;uid=sa;pwd=hailun.;database=Test")
    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 DataTables("表A").datacols
        Dim mapping1 As new System.Data.SqlClient.SqlBulkCopyColumnMapping(dc.name, dc.name)
        Copy.ColumnMappings.Add(mapping1)
    Next
    copy.Destinati \'指定服务器上目标表的名称
    copy.BatchSize = 1000
    copy.WriteToServer(DataTables("表D").basetable)   \'你的datatable名字,执行把DataTable中的数据写入DB
    tran.Commit()                                  \'提交事务
    msgbox("OK")
catch ex As exception
    msgbox(ex.message)
    tran.Rollback()    \'返回False 执行失败!
End try
--  作者:有点蓝
--  发布时间:2020/3/28 12:02:00
--  
动态添加数据源:http://www.foxtable.com/webhelp/topics/1944.htm,连接到a.mdb,然后使用SQLcommand加载表A数据。

接着使用上面代码,把代码里DataTables("表A")改为SQLcommand返回的表即可