C#和Oracle数据库连接

时间:2012-07-06 15:44:22

标签: c# database oracle oledb

您好我有一个开发人员使用的项目

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

我对该提供商MSDAORA有疑问 而且我认为它已经过时了 所以我想用另一个没有MSDAORA的简单解决方案连接到我的数据库。

谢谢

3 个答案:

答案 0 :(得分:0)

尝试使用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();
    }
}

答案 1 :(得分:0)

我使用了oracle的最新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" />

答案 2 :(得分:0)

看到你如何要求EASY解决方案,另一个可能是最快和最脏的选择就是尝试更改连接字符串中的提供程序。这将使您不必返回代码并添加对程序集的引用。

换句话说,在您的原始示例中,您的连接字符串是:

提供商= MSDAORA;数据源=示例;用户ID =测试;密码=测试; Unicode = True

尝试将提供程序更新为

提供商= <强> OraOLEDB.Oracle ;数据源=示例;用户ID =测试;密码=测试; Unicode = True

有关详细信息,请查看http://www.c-sharpcorner.com/UploadFile/nipuntomar/connection-strings-for-oracle/