我已经下载并安装了 ODAC,用于将 Oracle DB 连接到我的 SQL Server 2008http://download.oracle.com/otn/other/ole-oo4o/ODAC112021Xcopy_x64.zip
Oracle 的 OleDB 数据提供程序现在可在 SQL Server 中使用,但目前似乎无法使用,我是否应该在此 ODAC 上安装 64 位 oracle 11gR2 客户端?
以下是我刚刚创建的oracle服务器的连接右键点击后测试服务器连接的结果。
TITLE: Microsoft SQL Server Management Studio
------------------------------
The test connection to the linked server failed.
------------------------------
ADDITIONAL INFORMATION:
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)
------------------------------
Cannot initialize the data source object of OLE DB provider "OraOLEDB.Oracle" for linked server "DW-DB_PROD".
OLE DB provider "OraOLEDB.Oracle" for linked server "DW-DB_PROD" returned message "ORA-12541: TNS:no listener". (Microsoft SQL Server, Error: 7303)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.00.4000&EvtSrc=MSSQLServer&EvtID=7303&LinkId=20476
------------------------------
BUTTONS:
OK
------------------------------
DW-DB_PROD 是可用且可通过 TNSPING 命令运行的数据库实例名称,我可以从 SQLPLUS 中获取。
任何形式的帮助将不胜感激。
谢谢
答案1
首先在 SQL Server 中安装 ODAC 11g 64 位,然后编辑 TNS 名称即可解决问题。
ODAC112021Xcopy_x64.zip
并设置以下环境变量:
ORACLE_HOME=C:\Oracle\Client\product\11.2.0\client_1
Path=C:\Oracle\Client\product\11.2.0\client_1\bin\;C:\Oracle;C:\Oracle\bin
TNS_ADMIN=
然后将 TNSNames 放入C:\Oracle\Client\product\11.2.0\client_1\network\admin目录