Инициализатор типа для "Oracle.DataAcces.Client.OracleConnection" выбрал исключение

Когда я пытаюсь подключиться к базе данных 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, и мне было интересно, что вызывает эту ошибку? Когда я запускаю приложение, я не получаю никаких ошибок. Но когда я нажимаю кнопки пользовательского интерфейса приложения, я получаю эту ошибку.

Что мне делать, чтобы потерять ошибку и что ее вызывает?

Ответ 1

Это также может произойти, если ваш номер версии DLL для клиента Oracle мягко отличается от ссылки, имеющейся в Visual Studio, и даже если вы установили для этой ссылки свойство "Специфическая версия" значение false.

Ответ 2

Это ошибка внутри dll Oracle. Я предполагаю, что вы установили dll.NET, но не установили клиент Oracle в своей системе. Можете ли вы подключиться к Oracle через клиентское программное обеспечение SQLPlus? Если он не установлен, вам необходимо установить клиентское программное обеспечение Oracle.

Ответ 3

Измените свойства проекта. Построить раздел, Патплатно: x86

Ответ 4

Поскольку у вас нет разрешения администратора для 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"/>