2014-08-29 821 views
0

我有以下代碼:ODP.NET錯誤(ORA-1153遇到)

string conString = ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString; 
OracleConnection con = new OracleConnection {ConnectionString = conString}; 
con.Open(); 

隨着在App.config以下項(實際值去掉其中#)

<add name="MyConnectionString" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=#myhost#)(PORT=#MyPort#)))(CONNECT_DATA=(SERVICE_NAME=#MyServiceName#));User Id=#UserId#;Password=#Password#; Pooling=false;" providerName="System.Data.OracleClient" /> 

當我打了con.Open()我得到以下錯誤:

Oracle error ORA-1153 encountered 

回答

0

的問題在這裏結束了我的主機名不完全合格。我有servername和它應該是servername.domainstuff.domainstuff

+0

我不確定,但我懷疑如果嘗試通過(非託管)SQL PLUS連接或使用非託管ODP.NET連接,可能會得到更有意義的錯誤。 1153似乎特定於受管理的驅動程序。 – 2014-09-02 21:18:46

+0

一旦我完全認定了主人,事情就像冠軍一樣。 – 2014-09-03 01:12:41

0

快速谷歌搜索顯示,您的TNS連接字符串配置不正確。它看起來沒有適當的括號嵌套。我首先會在TNSNAMES.ORA文件中使用它(在連接字符串中使用別名),以確保它在將所有內容放入連接字符串之前有效。看看這裏:

http://csharpdeveloper.wordpress.com/2014/03/17/error-ora-1153-using-oracle-manageddataaccess-dll-to-connect/

+0

我看到這個特定的職位大約十幾次,它並沒有幫助我。正如我上面的代碼示例所示,我已將所有括號連接正確。讓這項任務變得更加困難的是,我不在Oracle環境中工作,因此將所有這些安裝在我的盒子上,以便在日常工作中遇到外部問題似乎不太明智。 – 2014-08-31 15:44:37

+0

Clarence,如果您不太熟悉Oracle TNS別名,您可能會發現EZConnect連接字符串格式更容易。它有一個連接字符串,例如host [:port] [/ service_name] ...,例如sales-server:1521/sales.us.acme.com http://docs.oracle.com/cd/E11882_01/network。 112/e10836/naming.htm#autoId0 – 2014-09-02 21:16:06