2011-11-29 76 views
1

我有一個winxp遠程Oracle服務器和一臺帶有IIS的Windows 7機器。遠程ORACLE服務器連接字符串

我將在win7機器上託管一個站點,從我的winxp機器上的Oracle數據庫獲取信息。

然而,當我載入我的網頁,我得到ORA-12154:TNS :無法解析我的tnsname.ora i`ve指定

的連接標識符得到如下:

ORCL = 
    (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = 157.xxx.xx.xxx)(PORT = 1521)) 
    (CONNECT_DATA = 

    (SERVICE_NAME = ORCL.company.net) 
    ) 
    ) 

奇怪的是,當我試圖通過從WIN7 SQLPLUS連接,我能夠通過提供以下憑證可以這樣做:

$ sqlplus中MYUSER /爲mypass @ ORCL

ConnectionString中我有如下:

沒有人有任何想法,可能是什麼問題?

連接字符串在我的本地開發機器上運行,其tnsnames.ora文件看起來幾乎相同。

任何幫助,將不勝感激!

回答

1

如果您將系統環境變量TNS_ADMIN設置爲指向tnsnames.ora文件所在的目錄,它是否有助於您的Web服務?這聽起來像你的Web服務器正在查看錯誤的目錄,因爲它說它無法解析名稱。

+0

我在哪裏可以找到這個TNS_ADMIN?我相當新的oracle ... 感謝您的答覆! – SlickD

+0

您將其作爲系統環境變量設置在計算機屬性中。您的tnsnames.ora文件通常位於客戶端Oracle主目錄中的network \ admin文件夾中。 – DCookie

3

您是否嘗試過使用直接連接字符串,如

Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=157.xxx.xx.xxx)(PORT=1521)) 
    (CONNECT_DATA=(SERVICE_NAME=ORCL.company.net)));User Id=MyUser;Password=MyPass; 
+0

+1使用這種方法,您不必擔心tnsnames.ora文件或找到它的路徑。所有信息都包含在連接字符串中。 – Andomar

+1

@Andomar你在'provider'標籤中寫了什麼? –

1
Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=157.xxx.xx.xxx)(PORT=1521)) 
    (CONNECT_DATA=(SID=NETBDS)));User Id=MyUser;Password=MyPass; 

怎麼樣試試這個方法?