2012-07-06 177 views
1

你好我有一個開發者使用C#和Oracle數據庫連接

conn1 = new OleDbConnection("Provider=MSDAORA; Data Source=example;User ID=test;Password=test;Unicode=True"); 
     conn1.Open(); 

我有問題,該提供商MSDAORA ,我認爲這是老 所以我想連接到我的數據庫用另一種簡單的解決方案項目沒有MSDAORA。

謝謝

+1

您使用的OleDbConnection而非的OracleConnection或Oracle提供的.NET類的任何原因? – 2012-07-06 15:46:16

+0

不,我只是想把連接字符串變成另一個易於使用的連接字符串,如果我使用OracleConnection,我想要什麼?任何參考或..? – Obama 2012-07-06 15:48:44

+0

你是否嘗試搜索? – 2012-07-06 15:50:38

回答

1

嘗試用Oracle提供,添加引用System.Data.OracleClient的裝配

使用的OracleConnection如本例

string connectionString = "..."; 
using (OracleConnection connection = new OracleConnection(connectionString)) 
{ 
    connection.Open(); 
    using(OracleCommand command = new OracleCommand(your query)) 
    { 
     command.Connection = connection; 
     command.ExecuteNonQuery(); 
    } 
} 
+0

我只需要更改ConnectionString? 沒有改變我的其他代碼? – Obama 2012-07-06 16:10:29

+0

@Oded我添加了詳細信息感謝您的建議 – 2012-07-06 20:02:31

+0

@Obama對不起,我不在這裏 – 2012-07-06 20:04:01

0

我使用了最新的ODAC(ODP.NET ),並使用以下字符串與ADO.NET實體數據模型。

<add name="Entities" connectionString="metadata=res://*/DataTypes.Model1.csdl|res://*/DataTypes.Model1.ssdl|res://*/DataTypes.Model1.msl;provider=Oracle.DataAccess.Client;provider connection string=&quot;DATA SOURCE=YOUR_SOURCE_HERE;PASSWORD=YOUR_PASSWORD_HERE;PERSIST SECURITY INFO=True;USER ID=YOUR_USER_ID_HERE&quot;" providerName="System.Data.EntityClient" /> 
+0

我正在下載ODAC,我會嘗試它!現在 謝謝! – Obama 2012-07-06 16:05:01

0

看你如何問一個簡單的解決方案,另一種選擇,也可能是最快和最骯髒的是剛剛嘗試和改變供應商,爲您的連接的字符串中。這將使您不必回到代碼中並添加對程序集的引用。

換句話說,在原始例如,你的連接字符串是:

提供商= MSDAORA;數據源=例子;用戶ID =測試;密碼=測試;的Unicode =真

嘗試提供者更新到

提供商= OraOLEDB.Oracle;數據源=例子;用戶ID =測試;密碼=測試;的Unicode =真

有關詳細信息,請參閱http://www.c-sharpcorner.com/UploadFile/nipuntomar/connection-strings-for-oracle/