2016-12-29 78 views
2

我想連接我的Oracle數據庫而不使用安裝Oracle客戶端。如何將SQLPlus與tnsnames.ora連接

我下載:

  • 「即時客戶端程序包 - Basic」 和
  • 「即時客戶端程序包 - SQL * Plus的」

然後我就C:\Oracle\instantclient,我在那裏提取的所有創建的文件夾包。

我已經設置system environment像:

Path - C:\Oracle\instantclient NSL_LANG - with properly key ORACLE_HOME - C:\Oracle\instantclient ORACLE_SID - C:\Oracle\instantclient TNS_ADMIN - C:\Oracle\instantclient

然後創建tnsnames.ora文件與配置在C:\Oracle\instantclient

,當我puted的命令CMD:

sqlplus user/password @HOST

我有一個mes聖人像:

ERROR: ORA-12560: TNS:protocol adapter error

但是當我試圖像:

sqlplus user/[email protected](DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=address to host)(Port=1521))(CONNECT_DATA=(SID=address to SID)))

一切正常。爲什麼SQL在識別tnsnames.ora文件時遇到問題?

回答

2

你的命令應該是:

sqlplus user/[email protected] 

,密碼和@HOST部分之間沒有空格。

使用空間它將@HOST作爲腳本在您登錄後執行,並且它會嘗試本地連接,從而產生該TNS錯誤。 (因爲你沒有登錄HOST從來沒有被評估,以確定它是否存在,所以它現在是有效的噪音)。

C:\>sqlplus -l -s x/y @HOST 
ERROR: 
ORA-12560: TNS:protocol adapter error 


SP2-0751: Unable to connect to Oracle. Exiting SQL*Plus 

隨着空間刪除它查找HOST爲TNS別名:

C:\>sqlplus -l -s x/[email protected] 
ERROR: 
ORA-12154: TNS:could not resolve the connect identifier specified 


SP2-0751: Unable to connect to Oracle. Exiting SQL*Plus 

對我來說,因爲我沒有HOSTtnsnames.ora做到這一點仍然得到一個錯誤,但它是一個不同的錯誤你可以看到它至少試圖用它作爲TNS別名。如果你已經正確定義了它,它將能夠連接到你的數據庫。

+0

OMG,你說得對!多麼愚蠢的錯誤:/ 現在工作正常。非常感謝Alex。 – KamilK