关于"OLE DB 提供程序 'MSDAORA' 报错",是怎么回事呢?

ikeloo 2005-07-06 12:49:36
在执行:

EXEC sp_addlinkedserver 'OracleSvr',
'Oracle 7.3',
'MSDAORA',
'ORCLDB'
GO
SELECT *
FROM OPENQUERY(OracleSvr, 'SELECT name, id FROM joe.titles')
GO

时出现如下错误提示:
服务器: 消息 7399,级别 16,状态 1,行 1
OLE DB 提供程序 'MSDAORA' 报错。
[OLE/DB provider returned message: 未找到 Oracle 客户端和网络组件。这些组件是由 Oracle 公司提供的,是 Oracle 8i 版 (或更高) 客户软件安装的一部分。

在安装这些组件之前,将无法使用此提供程序。]
OLE DB 错误跟踪[OLE/DB Provider 'MSDAORA' IDBInitialize::Initialize returned 0x80004005: ]。

我已经安装了Oracle9i的客户端,并且测试连接也是可以连到Oracle服务器的,想在SQL Server里面通过链接服务器访问Oracle9i的数据库,但是就出来上面的提示. 不知道还有什么没有做啊?请高手提示一下.谢谢~~
...全文
1438 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
netcoder 2005-07-06
  • 打赏
  • 举报
回复
二、使用 Microsoft OLE DB Provider For ORACLE 链接ORACLE

1、建立链接数据库
sp_addlinkedserver '别名', 'Oracle', 'MSDAORA', '服务名'
GO
EXEC sp_addlinkedsrvlogin @rmtsrvname='别名',@useself='false',@locallogin='sa',@rmtuser='oracle用户名',@rmtpassword='密码'

2、查询数据

SELECT * FROM 别名..用户名.表(视图)

注意:四部分名称全部用大写

3、执行存储过程

使用OPENQUERY:
SELECT *
FROM OPENQUERY(别名, 'exec 用户名.存储过程名')
子陌红尘 2005-07-06
  • 打赏
  • 举报
回复
创建链接服务器使用的字符串'Oracle 7.3'与Oracle 9i版本不兼容。

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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