2014-03-05 124 views
4

我試圖從SQLPlus連接到我的Oracle數據庫,但我無法連接。通過SQLPLUS連接Oracle數據庫

我的機器上有Oracle客戶端(10g)。以下是我可以從我的Java應用程序連接的詳細信息。

connect('dbi:Oracle://IP/wborcle', 'username', 'pwd')); 

通過SQLPLUS連接時,主機串是什麼?

+0

你得到的錯誤是什麼? – Incognito

+0

ORA:12154 TNS:無法解析指定的連接標識 – Aditya

+0

您是否100%確定您使用的是Java? DBI是用於連接到Oracle的Perl庫。 –

回答

1
sqlplus user/[email protected](DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=hostname.network)(Port=1521))(CONNECT_DATA=(SID=remote_SID))) 

也許,這可能取決於你所使用的命令行環境,你需要引用字符串,像

sqlplus "user/[email protected](DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=hostname.network)(Port=1521))(CONNECT_DATA=(SID=remote_SID)))" 

sqlplus 'user/[email protected](DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=hostname.network)(Port=1521))(CONNECT_DATA=(SID=remote_SID)))' 
+0

嗨馬里亞諾,請你解釋一下。我無法理解這一點。 – Aditya

+0

_「您是否100%確定您正在使用Java?DBI是一個用於連接到Oracle的Perl庫。」_ –

6

Oracle提供在嘗試連接數據庫時查找數據庫的幾種不同方法:

  • 的tnsnames.ora條目
  • LDAP
  • EZCONNECT
  • ...

最常見的方法是把你連接到數據庫到您的tnsnames.ora;通常,您的客戶端安裝包含一個可以修改的示例tnsnames.ora文件。

最簡單的方法可能是使用EZConnect。一個EZCONNECT字符串是建立像

<username>/<password>@<hostname>:<port>/SID

所以在你的情況下,(可能)會像

sqlplus scott/[email protected]:1521/wborcle

1
 
sqlplus username/[email protected](DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=hostname)(Port=1521))(CONNECT_DATA=(SID=sidname)))