今天在sqlserver2000的机器上建立了到oracle的链接服务器,脚本如下:
--判断如果链接服务器已经存在,则删除
if exists(select 1 from master..sysservers where srvname='dblink_shop')
exec sp_dropserver 'dblink_shop','droplogins'
--创建链接服务器
exec sp_addlinkedserver 'dblink_shop','Oracle','MSDAORA','192.168.1.120'
exec sp_addlinkedsrvlogin 'dblink_shop','false',NULL,'USER','PASS'注:sqlserver2000 在192.168.1.110上,oracle9i在192.168.1.120上。我在192.168.1.110 sqlserver查询分析器上执行上述脚本,操作成功。但是接着在sqlserver查询分析器中执行下面脚本:
select * from dblink_shop..USER.TABLE_ORACLE
(TABLE_ORACLE是Oracle中的表)执行时发生异常,说是
服务器: 消息 7399,级别 16,状态 1,行 1
OLE DB 提供程序 'MSDAORA' 报错。
监听程序无法解析服务器名SERVICE_NAMEOLE DB 错误跟踪[OLE/DB Provider 'MSDAORA' IDBInitialize::Initialize returned 0x80004005:  ]尝试了好多办法都没有解决,个人觉得可能是oracle那台服务器监听设置是否有问题,还是sqlserver这边
有什么问题,十分迷惑中。 请高手给予指点,小弟不胜感激!!!