Невозможно получить доступ к oci.dll из-за типа приложения.
-
19-09-2019 - |
Вопрос
Я пытаюсь создать соединение с базой данных Oracle через структуру сущностей в Visual Studio 2008.Я использую 64-битную Vista Ultimate.
Поначалу мне было трудно даже подключиться к базе данных через Visual Studio, но в конечном итоге все заработало, установив 10204_vista_w2k8_x64_production_db И ODTwithODAC1110720, но для взаимодействия через Visual Studio требовалось только минимальное количество частей.
Я совершенно новичок в этой настройке, поэтому, вероятно, я уже допустил ошибку, но установка обоих пакетов — единственный способ создать соединение через Visual Studio.
Я установил соединение и использовал мастер для создания файла .edmx-файл.Модель и ассоциации были созданы идеально, и я думал, что все будет хорошо.В качестве ссылочного имени я использовал имя по умолчанию «Entities».
Когда я пытаюсь сделать следующее
filingsContext = New Entities()
filingsContext.TABLE_NAME_HERE.First()
Я получаю следующую ошибку..
InnerException = {"Невозможно загрузить C:\app\adexter\OraHome_1\oci.dll.Убедитесь, что вы используете версию клиента Oracle 64x с приложением 64x."}
Как я могу подключиться к базе данных Oracle в любой момент, кроме случаев, когда я запускаю приложение?
Решение
Проблема, с которой вы столкнулись, заключается в том, что вы пытаетесь загрузить 32-битную версию DLL в 64-битное приложение.Попробуйте переключить приложение Visual Basic на 32-разрядную версию/x86, и это должно решить проблему.
- Щелкните правой кнопкой мыши проект в обозревателе решений.
- Выберите Свойства
- Перейдите на вкладку «Компиляция».
- Нажмите «Дополнительные параметры компиляции».
- Измените комбинацию целевых процессоров на x86.
- Нажмите ОК
Другие советы
Убедитесь, что вы установили версию ODT на 64 бит с ODAC.
смотреть на этот ответ о том, как убедиться, какую версию клиента будет использовать (некоторые ссылки в конечном, в частности, на языке C#, но они могут быть адаптированы к vb .net).