“Oracle.DataAcces.Client.OracleConnection”的类型初始值设定项引发了异常

时间:2014-01-06 09:09:27

标签: c# oracle

当我尝试连接到我的C#应用​​程序中的Oracle数据库并尝试单击按钮时出现此错误:

  

'Oracle.DataAcces.Client.OracleConnection'的类型初始值设定项   抛出异常

我访问数据库的代码:

        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添加,我将其转换为表单应用程序,它确实连接到数据库。但我必须在添加应用程序中使用它。

我从未遇到过这个错误,而且我对Oracle数据库没有经验,我想知道是什么导致了这个错误?当我运行应用程序时,我没有得到任何错误。但是,当我单击应用程序的用户界面按钮时,我收到此错误。

我该怎么做才能丢失错误以及导致错误的原因?

4 个答案:

答案 0 :(得分:8)

如果您的Oracle客户端DLL版本号与Visual Studio中的引用轻微不同,即使您将该引用的“特定版本”属性设置为false,也会发生这种情况。

答案 1 :(得分:6)

这是Oracle dll中的错误。我的猜测是你安装了.NET dll但没有在你的系统上安装Oracle客户端。您可以通过SQLPlus客户端软件连接到Oracle吗?如果未安装,则需要安装Oracle客户端软件。

答案 2 :(得分:4)

更改项目属性。 构建部分,Palatform:x86

答案 3 :(得分:0)

由于您没有Oracle Client的管理员权限。在App.config文件中添加:

<IPermission class="Oracle.DataAccess.Client.OraclePermission,
 Oracle.DataAccess, Version=2.111.7.20, Culture=neutral,
 PublicKeyToken=89b483f429c47342" version= "1" Unrestricted="true"/>