MS SQL 2008 - 設置 Oracle 連結伺服器小號和房車一世C和ñ一個_和不___ivenerror小號和R在一世C和ñ一種米和n這噸G一世在和n和rr這rSERVICE_NAME not given error
我正在嘗試將 MS SQL 2008 R2 上的連結伺服器設置為 Oracle 11g 伺服器。我已經安裝了 Oracle 客戶端,並從伺服器複製了 sqlnet.ora、tnsnames.ora 和 listener.ora,並使用以下值:
sqlnet.ora
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
tnsnames.ora
甲骨文 =
(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = slug.blue.local)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = oracle.blue.local) ) )
監聽器.ora
聽眾 =
(DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = slug.blue.local)(PORT = 1521)) ) )
但是在創建新的連結伺服器時我不斷收到此錯誤
已創建連結伺服器,但連接測試失敗。您要保留連結伺服器嗎?
附加資訊:
- 執行 Transact-SQL 語句或批處理時發生異常。(Microsoft.SqlServer.ConnectionInfo)
- 無法為連結伺服器“ORACLE”初始化 OLE DB 提供程序“OraOLEDB.Oracle”的數據源對象。
連結伺服器“ORACLE”的 OLE DB 提供程序“OraOLEDB.Oracle”返回消息
“ORA-12504:TNS:listener 沒有在 CONNECT_DATA 中指定 SERVICE_NAME。” (Microsoft SQL Server,錯誤:7303)
誰能發現我的配置有任何問題?
是否有其他方法來指定 SERVICE_NAME 或一切都來自 oracle 客戶端中的 .ora 文件?
從語法上講,我認為您的 TNSNAMES.ora 文件沒有任何問題。我能夠複製/粘貼到我的並更改主機名和服務名稱並成功連接。
嘗試使用 SQL*Plus 連接。這會給你同樣的錯誤嗎?你能用 EZCONNECT 語法連接嗎:sqlplus user@‘slug.blue.local:1521/oracle.blue.local’?
您的本地系統上是否安裝了多個 Oracle 客戶端?
此外,請嘗試僅包含您發布的條目的基本 TNSNAMES.ORA 文件。
另外,您是否嘗試使用 tnsnames.ora 文件連接 SQL*Plus?即sqlplus使用者@oracle