首页 > 解决方案 > 您可以更改默认情况下 OracleConnection 使用的提供程序吗?

问题描述

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

标签: c#.netoraclesystem.data.oracleclient

解决方案


一个更优化的选择是使用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();

如需更多帮助,请尝试遵循此处的 Oracle 官方指南


推荐阅读