sqlserver2000访问oracle9i的问题,各位大虾有没有遇到过这样的问题
今天在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_NAME
OLE DB 错误跟踪[OLE/DB Provider 'MSDAORA' IDBInitialize::Initialize returned 0x80004005: ]
尝试了好多办法都没有解决,个人觉得可能是oracle那台服务器监听设置是否有问题,还是sqlserver这边
有什么问题,十分迷惑中。
还请各位大虾多多指教啊,小弟在此谢过了...