sqlserver2000访问oracle9i的问题,请高手指教

superpander 2009-08-04 09:25:07
今天在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这边
有什么问题,十分迷惑中。

请高手给予指点,小弟不胜感激!!!
...全文
50 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
superpander 2009-08-07
  • 打赏
  • 举报
回复
谢谢inthirties的关注,是服务器那边配置搞错了。。。
inthirties 2009-08-05
  • 打赏
  • 举报
回复
检查一下你的MSDAORA的ODBC配置是不是OK的

同时也看看你的tnsname是不是配置的正确的。可以本地直接试试用tnsname连接服务器看看。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧