如果你的两个数据库在同一台服务器上,可以使用以下代码: 把同服务器中DataBase2的Table2导出到DataBase1的Table1中: '引用ADO(Microsoft ActiveX Data Objects 2.X Library) Private Sub Command1_Click() On Error GoTo err Dim cn As New ADODB.Connection cn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=登陆用户名;Password=登录密码;Initial Catalog=数据库名;Data Source=服务器别名" cn.CursorLocation = adUseClient '设置客户端游标 cn.Open '如果DataBase1的Table1已经存在: cn.Execute ("insert DataBase1.dbo.table1 select * from OpenRowSet('sqloledb','webservice';'sa';'',DataBase2.dbo.Table2)") '如果DataBase1的Table1不存在: 'cn.Execute ("select * into DataBase1.dbo.table1 from OpenRowSet('sqloledb','webservice';'sa';'',DataBase2.dbo.Table2)") cn.Close Set cn = Nothing Exit Sub err: MsgBox err.Description End Sub
打开2个库,读出原表插入目的表另外你可以参考SQL中间插入,直接写也是一样的原理
把同服务器中DataBase2的Table2导出到DataBase1的Table1中:
'引用ADO(Microsoft ActiveX Data Objects 2.X Library)
Private Sub Command1_Click()
On Error GoTo err
Dim cn As New ADODB.Connection
cn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=登陆用户名;Password=登录密码;Initial Catalog=数据库名;Data Source=服务器别名"
cn.CursorLocation = adUseClient '设置客户端游标
cn.Open
'如果DataBase1的Table1已经存在:
cn.Execute ("insert DataBase1.dbo.table1 select * from OpenRowSet('sqloledb','webservice';'sa';'',DataBase2.dbo.Table2)")
'如果DataBase1的Table1不存在:
'cn.Execute ("select * into DataBase1.dbo.table1 from OpenRowSet('sqloledb','webservice';'sa';'',DataBase2.dbo.Table2)")
cn.Close
Set cn = Nothing
Exit Sub
err:
MsgBox err.Description
End Sub