Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
访问VBA在两个数据库之间传输数据_Vba_Ms Access_Transfer - Fatal编程技术网

访问VBA在两个数据库之间传输数据

访问VBA在两个数据库之间传输数据,vba,ms-access,transfer,Vba,Ms Access,Transfer,我想将表的一些记录从一个Mysql数据库传输到另一个数据库(2个不同的IP地址)。我通过ODBC将两个数据库连接起来,并将两个表作为Access数据库中的表链接 currentdb.execute "insert into Table_DB1 (col1,col2,col3) select col1, col2, col3 from Table_DB1 where col3 between #2020/01/01 0:00:00# and #2020/01/02 23:59:59#" 表_DB

我想将表的一些记录从一个Mysql数据库传输到另一个数据库(2个不同的IP地址)。我通过ODBC将两个数据库连接起来,并将两个表作为Access数据库中的表链接

currentdb.execute "insert into Table_DB1 (col1,col2,col3) select col1, col2, col3 from Table_DB1 where col3 between #2020/01/01 0:00:00# and #2020/01/02 23:59:59#"

表_DB1的col3上有一个索引,该选择只有60k条记录。但是速度很慢或者Access停止响应。在Access VB中有没有更快的方法在两个远程数据库之间传输数据?

我为源表和目标表创建了ADODB连接和记录集,如下所示。传输速度可以接受

Dim Con_Dest As New ADODB.Connection
Dim Con_Sour As New ADODB.Connection
Dim Rs_Sour As New ADODB.Recordset
Dim Rs_Dest As New ADODB.Recordset

Dim Str_SqlSour As String
Dim Str_SqlDest As String

Dim Str_Sql As String

Con_Sour.Open "dsn=xxx;uid=xxx;pwd=xxx"
Con_Dest.Open "dsn=yyy;uid=yyy;pwd=yyy"

Str_SqlSour = "select * from Table_Source"

Rs_Sour.Open Str_SqlSour, Con_Sour
Rs_Dest.Open "Table_Dest", Con_Dest, adOpenDynamic, adLockOptimistic

Rs_Sour.MoveFirst
Do Until Rs_Sour.EOF

    With Rs_Dest
        .AddNew

        .Fields("AAA").Value = Rs_Sour.Fields("Col1")
        .Fields("AAB").Value = Rs_Sour.Fields("Col2")
        .....

        .Update
    End With

    Rs_Sour.MoveNext
Loop

将您的源数据复制到CSV扩展,复制到目标服务器,并使用CSV数据作为输入,使用LOAD data LOCAL Inflie将其加载到2个远程目标MySQL数据库。。。。。技术。感谢您的建议,但我们无权在源服务器上保存任何内容。请在本地PC上将源数据带到CSV扩展,然后使用完全路径的本地CSV数据作为输入,使用LOAD data local Infle将其加载到2个远程目标MySQL DB。。。。。技术。这个概念可能适合你。