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