2017-04-26 17 views
0

我有一個我經常使用的.NET應用程序。我在Windows 7計算機上運行IDE(我嘗試過VB2008,VS2010和VS2012)。網絡驅動器上的.NET應用程序出現TNS-12560錯誤

當我在我的本地硬盤驅動器上有解決方案(項目)時,它會在IDE的調試模式下運行。但是如果我在網絡驅動器上有解決方案,我可以使用TNS-12560。

用了2.5天的時間與Oracle技術支持人員聯繫,發現將其移至本地磁盤工作。他們現在聲稱這是解決方案。

這不是解決方案,我希望這裏有人有解決方案。

我正在運行Oracle 11g r2(11.2.0.4.0)32位客戶端。

順便說一句,這工作沒有任何問題。我不知道MS或Oracle是否在搞我。

編輯 - 這個問題是完全相關的網絡驅動器上的VB.NET解決方案與本地硬盤上的VB.NET解決方案。如果我運行IDE並連接到網絡驅動器上的解決方案,則它會失敗,如果我連接到本地硬盤上完全相同的解決方案(C :),則它工作正常。

+0

已經檢出這篇文章:http://www.dba-oracle.com/t_ora_12560_tns_protocol_adapter_error.htm? –

+0

在我打電話給Oracle之前,我已經完成了所有的標準工作。 TNSNames和SQLNet.ora文件很好。當連接到相同的數據庫時,TNSPING和SQLPLUS工作正常,當解決方案與IDE在同一臺機器上時,VB.NET可以正常工作,但如果解決方案位於映射的網絡驅動器上,則會出現錯誤。 –

+0

也許映射的網絡驅動器上的軟件找不到tnsnames.ora文件? –

回答

-1

通常,TNS-12560指示將客戶端連接到數據庫偵聽器時發生錯誤。鑑於它在本地計算機上的連接,告訴我正在嘗試連接的數據庫的偵聽器已啓動並正確配置以連接到數據庫。所以問題出現在你想運行該軟件的機器上。你說它以前一直有效,所以這告訴我TNS配置已經改變了,或者你想運行軟件的機器不能再到達網絡上的數據庫機器。從想要運行該軟件的機器上,可以ping數據庫服務器嗎?如果沒有,那麼TNS也無法訪問,你需要弄清爲什麼它不可達。如果您可以ping通它,那麼TNS會出現配置問題。在想要運行該軟件的機器上,使用Windows資源管理器導航到TNS配置文件夾(Oracle永遠不會告訴您這樣做,他們會告訴您使用TNS配置工具)。 TNS配置文件夾通常位於C:\ app \ username \ product \ 11.2.0 \ client_1 \ network \ admin中,其中username是安裝客戶端的用戶配置文件。在這裏有一個名爲tnsnames.ora的文件。該文件是一種特定格式的簡單文本文件,它告訴客戶端數據庫在網絡上的什麼位置。例如,我的tnsnames.ora包含:

DATA = 
    (DESCRIPTION = 
    (ADDRESS_LIST = 
     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.38)(PORT = 1521)) 
    ) 
    (CONNECT_DATA = 
     (SERVICE_NAME = orcl) 
    ) 
) 

有三條信息定義到數據庫的連接,本機的IP地址數據庫所在的(host = 192.168.10.38),監聽器的名稱( SERVICE_NAME = orcl)和監聽者正在監聽的端口(PORT = 1521)。您需要確認該數據庫的信息是否正確。

+0

我之所以這樣回答是因爲我上面說過,我已經檢查了所有這些。使事情順利進行的唯一方法是將「解決方案」從網絡驅動器移到本地驅動器。我根本不會對任何oracle的東西做任何修改。如果我不得不猜測,我相信問題是在我安裝最新版本的Oracle clientOracle 11g r2(11.2.0.4.0)32位時開始的。 –

+0

當您從網絡驅動器運行該項目時,解決方案是在相對路徑上查找Oracle客戶端,如果沒有在託管網絡驅動器的計算機上安裝客戶端,則無法連接到數據庫。檢查應用程序目錄中的 .vbproj文件,它指向相對路徑上的客戶端,我沒有嘗試過,但如果編輯vbproj文件指向本地計算機的Oracle客戶端,它可能會工作。 –

相關問題