也是特急!!!客户开始骂人了,数据库SQL OLEDB访问不顺畅,高手请指点
源代码:。。。。
Public mconn2 As Connection
Set mconn2 = New ADODB.Connection
mconn2.ConnectionTimeout = 0
mconn2.Open "Provider=SQLOLEDB;Persist Security Info=False;User ID=SA;Initial Catalog= " & 目标数据库 & ";Data Source= " & 服务器
'mconn2.Execute "SET xact_abort on "
'mconn2.CommandTimeout = 0
mconn2.Execute "insert into 数据表 select * from OPENDATASOURCE( 'SQLOLEDB ', 'Data Source= " & 服务器 & ";User ID=sa; '). " & 源数据库 & ".dbo.数据表 as b where b.关键字段 not in (select 关键字段 from 数据表 ) "
MsgBox "恭喜您,客户信息增量复制完毕! ", vbInformation
源代码:。。。。
当执行到mconn2.Execute 。。。时出错:“运行时错误-2147217871,OLE/DB。。。一般性网络错误,请检查网络文档”
情况说明:
1、上面程序完成相同服务器跨数据库相同表增量数据复制的功能,把“源数据库”-“数据表”中存在的,但在“目标数据库”-“数据表”中不存在的记录拷贝过来,两数据表结构完全相同,根据“关键字段”来判断记录是否需要拷贝。
2、上述程序逻辑肯定没有问题,因为我已经在两台电脑上成功运行了,但还没有发现第三台电脑可以运行,第三台电脑的主人很急,因为他很需要,请各位大狭行行好,救救我,万分感激!!!
3、已经尝试过mconn2.ConnectionTimeout = 0,MDAC2。0;MDAC2。7;MDAC2。81驱动
------解决方案--------------------语句没问题,提示是 "一般性网络错误 "
mconn2.Open "Provider=SQLOLEDB;Persist Security Info=False;User ID=SA;Initial Catalog= " & 目标数据库 & ";Data Source= " & 服务器
mconn2.Execute "insert into 数据表 select * from OPENDATASOURCE( 'SQLOLEDB ', 'Data Source= " & 服务器 & ";User ID=sa; '). " & 源数据库 & ".dbo.数据表 as b where b.关键字段 not in (select 关键字段 from 数据表 ) "
不知道你两处的 "服务器 " 是不是相同的,如果相同,应该可以不必用OPENDATASOURCE
mconn2.Execute "insert into 数据表 select * from " & 源数据库 & ".dbo.数据表 as b where b.关键字段 not in (select 关键字段 from 数据表 ) "