使用联结服务器: EXEC sp_addlinkedserver '别名','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=远程名;UID=用户;PWD=密码;' exec sp_addlinkedsrvlogin @rmtsrvname='别名',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='密码' GO 然后你就可以如下: select * from 别名.库名.dbo.表名 insert 库名.dbo.表名 select * from 别名.库名.dbo.表名 select * into 库名.dbo.新表名 from 别名.库名.dbo.表名 go
是不是網絡太慢了? 設一下Connection的TimeOut屬性。設短一點。
Dim conn As New Connection conn.CommandTimeout = 0 conn.Open local_db_stringread_vs_result = op_data.read_to_vs(temp_data, "select * from OPENDATASOURCE( 'SQLOLEDB', 'Data Source=" & remote_server & " ;User ID= " & remote_login_name & " ;Password=" & remote_login_pwd & "').kmain.dbo.kclient_tc If read_vs_result = "ok" Then For row_long = 1 To temp_data.Rows - 1 temp_values = "" For i = 2 To temp_data.Cols - 1 temp_values = temp_values & "," & "'" & temp_data.TextMatrix(row_long, i) & "'" Next '去掉前面一个 , 号 temp_values = VBA.Mid(temp_values, 2) conn.Execute (into_sql & " values(" & temp_values & ")") Next'然后,读取第 kempl 表 ,更新本地 kempl '然后,读取第 kcom 表 ,更新本地 kcom conn.Close Set conn = Nothing结束这是读取远程 xx 表的数据到本地一个 temp_data 表格里。然后再写入本地数据库
将这个表读到一个vs表格里。
然后再读其它表。就这样的!
EXEC sp_addlinkedserver '别名','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=远程名;UID=用户;PWD=密码;'
exec sp_addlinkedsrvlogin @rmtsrvname='别名',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='密码'
GO
然后你就可以如下:
select * from 别名.库名.dbo.表名
insert 库名.dbo.表名 select * from 别名.库名.dbo.表名
select * into 库名.dbo.新表名 from 别名.库名.dbo.表名
go
設一下Connection的TimeOut屬性。設短一點。
conn.CommandTimeout = 0
conn.Open local_db_stringread_vs_result = op_data.read_to_vs(temp_data, "select * from OPENDATASOURCE( 'SQLOLEDB', 'Data Source=" & remote_server & " ;User ID= " & remote_login_name & " ;Password=" & remote_login_pwd & "').kmain.dbo.kclient_tc If read_vs_result = "ok" Then
For row_long = 1 To temp_data.Rows - 1
temp_values = ""
For i = 2 To temp_data.Cols - 1
temp_values = temp_values & "," & "'" & temp_data.TextMatrix(row_long, i) & "'"
Next
'去掉前面一个 , 号
temp_values = VBA.Mid(temp_values, 2)
conn.Execute (into_sql & " values(" & temp_values & ")")
Next'然后,读取第 kempl 表 ,更新本地 kempl
'然后,读取第 kcom 表 ,更新本地 kcom
conn.Close
Set conn = Nothing结束这是读取远程 xx 表的数据到本地一个 temp_data 表格里。然后再写入本地数据库