Какова минимальная настройка, необходимая для развертывания приложения .NET, которое ведет переговоры с базой данных Oracle?
Какова минимальная настройка, требуемая для развертывания приложения .NET с клиентом Oracle 11?
Ответ 1
Джош -
Спасибо, что нашли время ответить. Ваши инструкции очень помогли и очень близки к тому, что я нашел сам.
Интересно, я нашел, что его можно немного уменьшить.
Для тех, кто в моей ситуации, кто
- Не нужно, чтобы их пользователям приходилось устанавливать ODAC или полноразмерный клиент Oracle
- Не заботьтесь о возможности повторного использования конкретной установки клиента
- Необходимое решение "clickOnce"
Я нашел способ сделать это.
а. Загрузите "Oracle Instant Client 11.1.0.6 - Basic Lite". б. распакуйте в любую папку и скопируйте следующие файлы в корень проекта Visual Studio:
- oci.dll
- OCIW32.DLL
- orannzsbb11.dll
- oraocci11.dll
- oraociicus11.dll
-
msvcr71.dll(необязательно, должен поставляться с большинством версий Windows)
(первые пять - это минимум, необходимый для Oracle Instant Client, последний - обычная среда выполнения Microsoft, которую они используют.)
с. Загрузите ODAC 11 XCopy (текущая версия 11.1.0.6) и разархивируйте.
-
OraOps11w.dll - в папке odp.net20, входит в ваш проект root.
(этот файл - то, к чему обращается Oracle.DataAccess.dll и использует его для работы с файлами Instant Client).
д. Для совместимости с развертыванием ClickOnce выберите эти файлы в своем проекте и убедитесь, что они представляют собой "Контент" и "Копировать местность" в вашем проекте. Затем манифест будет правильно их размещать.
Результат... полезная нагрузка, добавленная в ваш проект, составляет 30 МБ, что своего рода отстой, но намного лучше, чем 100+ или 400+, поддерживает западных персонажей, но пинает в том, что
- для этого не требуется никакого пути,
- не требует записей в реестре,
- изолирован при развертывании и не вставляет другие установки Oracle Client,
- работает все базы данных через 9.2.
Ответ 2
- Загрузите развертывание ODAC 11 XCopy.
-
Извлеките zip файл и запустите следующее:
install.bat odp.net20 c:\oracle\11.1\odac myoraclehome true
-
Скопируйте файлы из каталога 11.1 и поместите их в подкаталог исполняемого приложения (например, debug\bin\oracle)
-
Добавьте следующие операторы в свой метод Main(). Они изменят путь таким образом, что исполняемый файл приложения будет использовать клиент oracle, исключая любой другой дом оракула. Изменение среды исключительно для вашего процесса и не имеет длительных эффектов, когда приложение завершается:
Environment.SetEnvironmentVariable("PATH", Environment.CurrentDirectory + "\\oracle\\11.1\\odac;" + Environment.CurrentDirectory + "\\oracle\\11.1\\odac\\bin;", EnvironmentVariableTarget.Process);
Environment.SetEnvironmentVariable("ORACLE_HOME", Environment.CurrentDirectory + "\\oracle\\11.1\\odac", EnvironmentVariableTarget.Process);
Ответ 3
A назад, это поток, который запустил мою программу (СПАСИБО!). Мне теперь сказали, что Oracle не нравится, когда вы выберете 6 библиотек DLL и поместите их в свою исполняемую папку. Итак, теперь каждая DLL, которая устанавливается при запуске install.bat odp.net2 c:\oracle odac, должна быть помещена в вашу исполняемую папку (есть место для еды)
Ответ 4
Im работает с мгновенным клиентом oracle 11g. Следующий и очень минимальный список файлов - это то, что было найдено для развертывания:
OCI.dll
Oracle.DataAccess.dll
OraOCIEI11.dll
OraOps11w.dll
Просто установите полный клиент и скопируйте эти файлы из папки bin.