2012-09-16 94 views
2

我是使用數據庫的初學者。我試圖從c#應用程序訪問Oracle10g數據庫。但是,當我這樣做,我得到這個錯誤:將C#應用程序連接到Oracle 10g:ORA-12154:TNS:無法解析指定的連接標識符

ORA-12154: TNS:could not resolve the connect identifier specified"

我用下面的代碼:

string oradb = "Data Source=ORCL;User Id=system;Password=goodbye;"; 
OracleConnection conn = new OracleConnection(oradb); // C# 
conn.Open(); 

是否有連接字符串oradb一個錯誤?

+0

數據源名稱AFAIK需要註冊爲TNS名稱,它只是說,它不知道你叫ORCL數據庫所在。 –

+0

我該怎麼做? – amulous

+0

@AmulGarg嘗試使用'數據源=本地主機:1521/orcl;用戶ID =系統;密碼=再見;'。 *免責聲明:這是來自內存,我只與Oracle工作過一次。* – Nasreddine

回答

4

啓動Visual Studio,打開View菜單+服務器瀏覽器。在Data Connection + Add Connection +

  1. 點擊鼠標右鍵,選擇Oracle Database
  2. 服務器名稱:localhostname of your machine,設置好用戶名&密碼,然後單擊測試連接以驗證上述參數。如果測試成功,請按OK。

從屬性窗口,您可以獲取連接字符串,它應該是看起來像:

Data Source=localhost;Persist Security Info=True;User ID=scott;Password=***********;Unicode=True 
+0

當我點擊確定時,會出現同樣的錯誤信息。 – amulous

+0

@AmulGarg - 啓動數據庫服務器 - 從開始菜單項目('啓動數據庫') – adatapost

+0

已經做到了 – amulous

0

甲骨文只是說,它無法找到數據庫。

如果你正在運行的本地數據庫Express Edition,你應該能夠只使用XE作爲一個實例名,一切都應該已經成立,否則,您可以在最容易添加到tnsnames.ora

要找到正確的tnsnames.ora改變,你可以嘗試(從命令提示符)

tnsping ORCL 

,將告訴你哪些文件Oracle正在使用,試圖找到數據庫。如果tnsping是未知命令,則在運行之前,您可能需要搜索並找到正確的位置。

一個你找到正確的tnsnames.ora,你需要添加實例ORCL它。應該有一個帶有示例的現有文件,如果您需要幫助,該文件的語法太複雜,無法在此處回答,請致電Oracle has quite extensive documentation

+0

嘿謝謝!這有效 – amulous

+0

@AmulGarg如果答案有幫助,您應該將其中的一個解決方案放在一旁並/或標記爲解決方案。這將使其他人能夠找到解決問題的辦法。 –

0

這是一個非常常見的oracle錯誤。簡而言之,這意味着你已經命名了你想連接的數據庫,而Oracle不知道你在說什麼。我建議6個步驟來修復ORA-12154:

  1. 檢查實例名稱已正確輸入到tnsnames.ora。
  2. 實例或數據庫名稱末尾不應有控制字符。
  3. 應正確終止TNS條目周圍的所有副詞
  4. sqlnet.ora中的域名條目不應與完整數據庫名稱衝突。
  5. 如果問題仍然存在,請嘗試在tnsnames.ora中重新創建TNS條目。
  6. 最後,您可以使用SQL * Net Easy配置實用程序添加新條目。

在Oracle網站或這裏更多的信息:http://turfybot.free.fr/oracle/11g/errors/ORA-12154.html

相關問題