2011-04-18 68 views
3

我在Visual Studio 2010中創建了一個空的控制檯應用程序,我試圖通過服務器瀏覽器添加一個Oracle(10g XE)數據連接。我使用Oracle .NET ODP作爲連接器,我得到以下錯誤:Oracle數據訪問組件和Visual Studio連接問題

ORA-12560:TNS:協議適配器錯誤

我可以通過Web界面或控制檯沒有問題訪問Oracle,但在VS中不斷得到這個通用連接錯誤。我正在使用Oracle XE的默認安裝並在本地運行它。

有關如何正確設置此設置的任何建議?我發現每個教程都瞭解這個連接成功了。因此,我正在努力尋找從哪裏開始排除故障。我對VS2010很滿意,但是對於Oracle用他們的數據庫做事情的方式來說,這是新的。

編輯1 在排除故障時我發現這隻發生在Oracle Data Provider for .NET中。使用用於Oracle的.NET Framework數據提供程序我能夠成功連接。

編輯2 我清理了一切,再次安裝11g XE和ODAC工具,並繼續獲得相同的消息。我意識到這個錯誤有點泛泛,如果有人認爲它有幫助,我會很樂意發佈更多信息。該數據庫在本地運行,我無法想象什麼樣的「配置」的Express數據庫會更需要...

編輯3 的ODAC工具將出現安裝Oracle 11的「生產」版本而不是我首先安裝的BETA版本。幾乎看起來好像該工具正在安裝另一個數據庫?我似乎也有兩個ORACLE_BASE位置和兩個TNSNAMES,它們看起來是非常相似的文件夾層次結構。也許更直接的教程就是答案,Oracle的描述不是很清楚。

回答

2

的Oracle 10g XE似乎是問題。完全安裝11g(完整,不是Express)完全解決了這個問題。

0

here

Possible fixes for the TNS-12560 include:

  1. Get the latest patches for the SQL*Net client software.

  2. Check your $ORACLE_HOME and $Path variables.

  3. Check File permissions on the PC client.

  4. Ensure that TNS_ADMIN is set correctly.

  5. Check for firewall issues.

  6. Check that the Windows database service is started. Verify teh ORACLE_SID parameter is set correctly in the registry.

+0

我不確定它是否有所作爲,但在該文章中描述的方案中,用戶無法登錄到數據庫。我可以做到這一點,我不能從VS2010做到這一點。 – JHarnach 2011-04-18 03:09:24

+0

好的,我已經設置了ORACLE_HOME,設置了TNS_ADMIN,並設置了ORACLE_SID參數。防火牆不是問題,我不確定「文件權限」是什麼意思,而且我正在使用最新版本的SQL.NET連接器。問題仍然存在,其他想法? – JHarnach 2011-04-18 03:24:29

0

哇。我終於得到了這個語法。 我是一個Sql Server的傢伙。我在大日子裏回到了甲骨文。 但我試圖做一些實體框架和我說:「你不會睡覺,直到你的Visual Studio 2012和EDMX文件來談談甲骨文。

Geeze。

這裏是什麼我想出了:

數據來源: Oracle數據庫(甲骨文ODP.NET)

數據源名稱: 本地主機:1521/ORCL

用戶名: SYSTEM

0

將默認數據源名稱更改爲localhost。