我已经安装了Oracle客户端
也重新注册了还是找不到
下图是SQL Server2005上的
我在SQL Server2008 找不到
不知什么情况急急急。。。
应该是客户端没有正确配置,或者服务没有启动。我刚才试了下安装客户端后就可以了。
你检查下这两个服务有没有启动(以XE版为例):
OracleXETNSListener
OracleServiceXE
他妹的,网上的方法都不靠谱,通过摸索找到问题的真正原因——注册表问题!安装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
屌屌屌!
兄弟,在的么?这个修改注册表的语句我没怎么看懂,而且我这注册表目录和你这个有点出入,怎么破 【拜托】