Windows-Server-2008
無法使用 ODAC 從 SQL Server 訪問 Oracle DB?
Oracle 的 OleDB 數據提供程序現已在 SQL Server 中可用,但目前似乎無法使用,我是否應該在此 ODAC 之上安裝 oracle 11gR2 客戶端 64 位?
下面是我剛剛創建的用於測試伺服器連接的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 中獲取。
任何形式的幫助將不勝感激。
謝謝
首先在 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目錄