您可以更改默认情况下OracleConnection使用哪个提供程序吗?

时间:2019-07-05 11:01:43

标签: c# .net oracle system.data.oracleclient

我有一个使用System.Data.OracleClient.OracleConnection的应用程序(是的,我知道这已经过时了)而没有指定提供程序。默认情况下,它似乎正在使用MSDORA。是否可以更改提供程序而不在连接字符串上添加提供程序?例如在app.config文件或机器范围内的设置中?

1 个答案:

答案 0 :(得分:0)

一个更好的选择是使用ODP.NET

要实现此目的,请首先添加对Oracle.DataAccess的引用。然后,在您的公开声明之前添加以下两行:

using Oracle.DataAccess.Client; // ODP.NET Oracle managed provider
using Oracle.DataAccess.Types; 

这应允许您按以下方式使用ODP.NET:

string oradb = "Data Source=mysrc;User Id=id;Password=password;";
OracleConnection conn = new OracleConnection(oradb);  // C#
conn.Open(); 
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = "my query";
cmd.CommandType = CommandType.Text; 
OracleDataReader dr = cmd.ExecuteReader();
dr.Read();
label1.Text = dr.GetString(0); //Assuming the label already exists
conn.Dispose();

要获取更多帮助,请尝试遵循发现于here的Oracle官方指南