当我尝试在我的 C# 应用程序中连接到 Oracle 数据库并尝试单击一个按钮时,出现此错误:
The type initializer for 'Oracle.DataAcces.Client.OracleConnection' threw an exception
我访问数据库的代码:
static string column;
static string OracleServer = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=something)(HOST=something)(PORT=something)) (CONNECT_DATA=(SERVICE_NAME=name)));User Id=something;Password=something;";
public void read()
{
try
{
var conn = new OracleConnection(OracleServer);
conn.Open();
OracleCommand cmd = new OracleCommand("select * from t1", conn);
OracleDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
var column1 = reader["vermogen"];
column = (column1.ToString());
listBox1.Items.Add(column);
}
conn.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
现在我正在使用引用 Oracle.DataAccess
和代码:using Oracle.DataAccess.Client;
该应用程序是一个 arcgis add in 应用程序,我将其转换为一个表单应用程序,它确实连接到数据库。但我必须让它在附加应用程序中工作。
我从来没有遇到过这个错误,我也没有使用 Oracle 数据库的经验,我想知道是什么导致了这个错误?当我运行应用程序时,我没有收到任何错误。但是,当我单击应用程序用户界面的按钮时,出现此错误。
我应该怎么做才能丢失错误以及导致错误的原因是什么?
最佳答案
如果您的 Oracle 客户端 DLL 版本号与您在 Visual Studio 中的引用轻微不同,即使您将该引用的“特定版本”属性设置为 false,也会发生这种情况。
关于c# - 'Oracle.DataAcces.Client.OracleConnection' 的类型初始值设定项抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20946467/