请教:sqlserver 建立链结服务器时,列表中没有: Oracle Provider for Ole DB

liuri璇玑 2015-07-03 05:29:01
如题,我安装了sqlserver2012(64bit),服务器在本地
安装了oracle11g客户端64位
oraclep客户端能正常访问数据库,使用tnsping检测也OK, 而且我使用access也能从oracle读取数据
但是, sqlserver建立链结服务器时,列表中没有: Oracle Provider for Ole DB
我使用导入导出工具时,可以选择Microsoft OLE CDB Provider for Oracle,但点测试连接时报错:测试连接失败,因为初始化提供程序时发生错误。未找到 Oracle 客户端和网络组件。这些组件是由 Oracle 公司提供的,是 Oracle 7.3.3 版(或更高)客户软件安装的一部分。
...全文
17680 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
我前面是这样解决的 开始只装的客服端,发现怎么弄都不行,网上很多教程都试了没用,最后 重装了 oracle 12C的服务端,啥问题没得了
  • 打赏
  • 举报
回复
我参考这篇博客解决了这个问题。 http://www.cnblogs.com/loveme123/archive/2013/01/23/2873127.html
qq_35779138 2016-08-03
  • 打赏
  • 举报
回复
楼主,我遇到了和你一模一样的问题,请问你找到解决方法了么?
qwe6890087 2015-11-15
  • 打赏
  • 举报
回复 2
楼主我找到解决办法了,需要手动注册OraOLEDB11.dll。 具体步骤:1、安装32位或者64位oracle客户端 2、注册OraOLEDB11.dll,文件的路径在D:\app\Administrator\product\11.2.0\client_3\BIN目录下,具体看oracle安装的位置,注册之后便可选择提供程序。 3、注册命令:regsvr32 E:\app32\tm\product\11.2.0\client_1\BIN\OraOLEDB11.dll 参考地址:http://www.cnblogs.com/tomfang/archive/2013/05/25/3098454.html
liuri璇玑 2015-07-06
  • 打赏
  • 举报
回复
谢谢hery2002 ,我把ORACLE的32位和64位都装了,所以,我的 查看32位ODBC驱动:启动 C:/Windows/SysWOW64/odbcad32.exe 查看64位ODBC驱动,启动 C:/WINDOWS/system32/odbcad32.exe 下都有ORACLE的驱动,但sqlserver就是不识别
misterliwei 2015-07-06
  • 打赏
  • 举报
回复
http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html
misterliwei 2015-07-06
  • 打赏
  • 举报
回复
在 链接服务器列表中没有出现 ORACLE OLEDB驱动,应该就是驱动没有注册好,64位SQL SERVER应该对应使用64位ORACLE OLEDB 驱动。 所以我觉得应该重新安装64位驱动。
Tiger_Zhao 2015-07-06
  • 打赏
  • 举报
回复
一般应该先装Oracle再装SQL Server,这样很大的可能会自动关联上去。
你现在试试修改SQL Server的安装,找找里面的详细项目,有没有Oracle Provider for Ole DB?加上去。
或者选择修复安装试试。
唐诗三百首 2015-07-06
  • 打赏
  • 举报
回复
建议把服务器windows重启一下再看看是否有Oracle驱动. 或者尝试用TSQL创建link server.

sp_addlinkedserver '[LinkServerName]', 'Oracle',  'MSDAORA', '[Oracle客户端里的服务名]'

sp_addlinkedsrvlogin '[LinkServerName]', 'false', 'sa', '[Oracle帐号]', '[密码]'
hery2002 2015-07-04
  • 打赏
  • 举报
回复
1:64位 控制面板中“ODBC数据源”可执行程序(控制面板64位,SysWOW64下的是32位的,64位的兼容版本) 查看32位ODBC驱动:启动 C:/Windows/SysWOW64/odbcad32.exe 查看64位ODBC驱动,启动 C:/WINDOWS/system32/odbcad32.exe 或者去控制面板 2:ORACLE ODBC驱动程序 系统安装ORACLE 64位服务端32位客户端(PLSQL兼容关系),ODBC驱动程序是依赖于客户端即SQORA32.DLL (位于客户端下)是32位的。 结论草案 1:64位ODBC + 64位驱动: 2: 32位ODBC + 32位程序驱动 采用方案2,修改较少,问题成功解决,即: +查看32位ODBC驱动:启动 C:/Windows/SysWOW64/odbcad32.exe -查看64位ODBC驱动:启动 C:/WINDOWS/system32/odbcad32.exe 或者去控制面板
hery2002 2015-07-04
  • 打赏
  • 举报
回复
是不是32位和64位的问题, 看看下面这个blog能否解决你的问题。 Linked server和SSIS连接Oracle时的常见问题
shoppo0505 2015-07-03
  • 打赏
  • 举报
回复
版本太旧,不支持SQL 2012吧

22,294

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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