首页 新闻 搜索 专区 学院

SQL Server2008 新建连接服务器访问接口找不到OraOLEDB.Oracle

0
[已关闭问题] 关闭于 2012-03-31 16:43

我已经安装了Oracle客户端

也重新注册了还是找不到

下图是SQL Server2005上的

我在SQL  Server2008 找不到

不知什么情况急急急。。。

光哥传说的主页 光哥传说 | 菜鸟二级 | 园豆:212
提问于:2012-03-27 14:23
< >
分享
所有回答(3)
0

应该是客户端没有正确配置,或者服务没有启动。我刚才试了下安装客户端后就可以了。

你检查下这两个服务有没有启动(以XE版为例):

OracleXETNSListener

OracleServiceXE

邀月 | 园豆:25375 (高人七级) | 2012-03-27 16:24
0
dudu | 园豆:36473 (高人七级) | 2012-03-28 10:50

问题是我的SQL2008没有访问接口OraOLEDB.Oracle

据说这个是在VS上建立Oracle数据链接后才有

但是现在又建立数据链接时出现vs2008 添加链接 无法解析指定的链接字符

支持(0) 反对(0) 光哥传说 | 园豆:212 (菜鸟二级) | 2012-03-30 17:47
0

他妹的,网上的方法都不靠谱,通过摸索找到问题的真正原因——注册表问题!安装Oracle完整客户端后,没有访问接口OraOLEDB.Oracle,是因为Oracle客户端安装时没有往注册表里面写入驱动信息。

注意3里面的路径要换成你客户端安装的路径

[HKEY_CLASSES_ROOT\CLSID\{3F63C36E-51A3-11D2-BB7D-
00C04FA30080}\InprocServer32]中的值:
@="D:\\app\\client\\product\\11.2.0\\client_1\\BIN\\OraOLEDB11.DLL"
此值是根据你安装Oracle客户端的路径的值,必须保持一致。

首先要修改一下注册表内容(把1/2/3/4 考下来变成reg格式文件依次执行):

1、Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\OraOLEDB.Oracle]
@="Oracle Provider for OLE DB"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\OraOLEDB.Oracle\CLSID]
@="{3F63C36E-51A3-11D2-BB7D-00C04FA30080}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\OraOLEDB.Oracle\CurVer]
@="OraOLEDB.Oracle.1"

 

2、Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\OraOLEDB.Oracle.1]
@="Oracle Provider for OLE DB"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\OraOLEDB.Oracle.1\CLSID]
@="{3F63C36E-51A3-11D2-BB7D-00C04FA30080}"

 

3、Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{3F63C36E-51A3-11D2-BB7D-00C04FA30080}]
@="OraOLEDB.Oracle"
"OLEDB_SERVICES"=dword:ffffffff

[HKEY_CLASSES_ROOT\CLSID\{3F63C36E-51A3-11D2-BB7D-00C04FA30080}\ExtendedErrors]
@="Extended Error Lookup Service"

[HKEY_CLASSES_ROOT\CLSID\{3F63C36E-51A3-11D2-BB7D-00C04FA30080}\ExtendedErrors\{3FC8E6E4-53FF-11D2-BB7D-00C04FA30080}]
@="Oracle OLE DB Error Lookup"

[HKEY_CLASSES_ROOT\CLSID\{3F63C36E-51A3-11D2-BB7D-00C04FA30080}\InprocServer32]
@="D:\\app\\client\\product\\11.2.0\\client_1\\BIN\\OraOLEDB11.DLL"
"ThreadingModel"="Both"

[HKEY_CLASSES_ROOT\CLSID\{3F63C36E-51A3-11D2-BB7D-00C04FA30080}\OLE DB Provider]
@="Oracle Provider for OLE DB"

[HKEY_CLASSES_ROOT\CLSID\{3F63C36E-51A3-11D2-BB7D-00C04FA30080}\ProgID]
@="OraOLEDB.Oracle.1"

[HKEY_CLASSES_ROOT\CLSID\{3F63C36E-51A3-11D2-BB7D-00C04FA30080}\TypeLib]
@="{0BB9AFD1-51A1-11D2-BB7D-00C04FA30080}"

[HKEY_CLASSES_ROOT\CLSID\{3F63C36E-51A3-11D2-BB7D-00C04FA30080}\VersionIndependentProgID]
@="OraOLEDB.Oracle"

 

4、Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.MSSQLSERVER\Providers\OraOLEDB.Oracle]
"AllowInProcess"=dword:00000001

猿来猿往 | 园豆:202 (菜鸟二级) | 2015-09-21 21:02

屌屌屌!

支持(0) 反对(0) kiuyam | 园豆:202 (菜鸟二级) | 2017-02-21 15:50

兄弟,在的么?这个修改注册表的语句我没怎么看懂,而且我这注册表目录和你这个有点出入,怎么破 【拜托】

支持(0) 反对(0) Roooman | 园豆:200 (初学一级) | 2018-05-24 14:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册