2012-11-07 62 views
1

我試圖訪問Oracle 11g數據庫。 據connectionstring.com的CONNSTRING應該是:從c#使用odb.net訪問oracle數據庫

Driver={Oracle in OraClient11g_home1};Dbq=myTNSServiceName;Uid=user;Pwd=passwd; 

反正我得到一個ArgumentException:「司機」不是一個有效的字。

謝謝。

問候

R.巴達

回答

3

看起來你要使用的連接字符串,它是適用於ODBC驅動程序用於Oracle的情況。

您應該在Oracle Data Provider for .NET/ODP.NET部分查找適合ODP.NET的連接字符串。最好是使用以下中的一個:

Data Source=TNSServiceName;User Id=user;Password=passwd; 

Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=MyOracleSID)));User Id=user;Password=passwd; 

首先是合適的,當您使用TNS,第二允許您提供在連接字符串服務定義。

+0

謝謝你的回覆。我沒有tnsnamesnames文件...所以我想描述這個服務。但是我應該在MyOracleSID中放置什麼? – user897237

+0

@ user897237 service_name可能是也可能不是ORACLE_SID。它通過帶有「service_names」參數的init.ora文件進行設置。您可以通過以下方式檢查此參數:'select name,value from v $ parameters,其中名稱'service%'。還要記住,如果是第二個連接字符串,則可以使用其他形式的Oracle主機字符串。 – tpeczek