развернуть приложение с поставщиком OraOLEDB - PullRequest
2 голосов
/ 01 февраля 2010

Я разработал приложение, которое использует Delphi 7, ADO и ORACLE, провайдер, которого я использую - OraOLEDB (мне нужно использовать этого провайдера, потому что поля BLOB поддерживают). Теперь я хочу распространить это приложение с провайдером. Я ищу в Интернете, чтобы загрузить провайдера Oracle , но имеет размер 174 МБ . Мне нужно установить этот файл на все клиентские машины? есть меньшее распространение этого файла?

UPDATE Я ищу легковесное (маленькое) распределение OraOLEDB.

Заранее спасибо.

Ответы [ 5 ]

3 голосов
/ 01 февраля 2010

Я бы предпочел, чтобы пользователь сам предоставил свою клиентскую библиотеку. Вы избегаете проблем, когда у меня могут быть разные версии Oracle OleDb для разных версий Oracle, проблемы лицензирования, проблемы установки и т. Д. И т. Д.

Как я знаю, вам нужен пакет 170 МБ +.

1 голос
/ 13 февраля 2010

Я немного знаю об установке провайдеров OLE DB, но я ничего не знаю о провайдере Oracle, поэтому это может быть непрактично. Я вижу, что загрузка 174 МБ включает в себя несколько драйверов (ODBC, .NET, OLE DB и т. Д.). Я должен иметь возможность (но, возможно, бесполезно в реальном мире) создать свой собственный дистрибутив с необходимыми файлами. Одна очень приятная вещь в OLE DB заключается в том, что она обычно «проста» в установке. Запуск regsvr32 /i provider.dll сделает необходимые обновления реестра, чтобы его можно было использовать в системе. Поставщикам, которых я использовал, не требуется набор полных обращений к реестру, как часто нужны драйверы ODBC.

Так что возможно создать свой собственный дистрибутив. На этом сайте перечислены файлы, которые явно необходимы для провайдера. Я не знаю, есть ли другие «общие» файлы, общие для всех клиентских наборов Oracle, которые могут понадобиться (это может быть частью, которая сделает эту идею неосуществимой).

1 голос
/ 02 февраля 2010

Кажется, что дистрибутивная лицензия (http://www.oracle.com/technology/software/popup-license/distribution-license.html) с этой страницы позволяет вам распространять драйвер OleDB, если вы полностью соблюдаете эту лицензию. Это официальный дистрибутив Oracle - обычно настройки Oracle велики - если вы не хотите включать их в свой дистрибутив, вы можете просто указать им страницу загрузки.

Обновление : на странице загрузки InstanClient есть меньший пакет, ищите Instant Client Package - ODAC здесь: http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html

0 голосов
/ 10 июля 2011

Распространение клиентских приложений Oracle может быть кошмаром, даже сегодня, когда у вас 64-битная Windows.

Какую версию Клиента вам нужно установить? Вам нужна 32-битная версия для вашего приложения Delphi. Но что, если другим программам нужен доступ к 64-битной версии? Вам нужно несколько ORACLE_HOME с дублированными настройками или принудительный запуск кода DotNet в 32-битном режиме.

Сначала я написал оболочку Delphi с использованием OleDB , затем я понял, насколько сложно было ее развернуть при использовании БД Oracle. Точно такой же вопрос, как и у вас ...

Затем я написал выделенную версию, вызвав напрямую библиотеку OCI . Скорость была там (в 2-5 раз быстрее, чем у OleDB), с простым развертыванием.

Вы можете использовать последнюю версию Oracle Instant Client, предоставляемую Oracle - см. эту ссылку для загрузки - которая позволяет запускать ваши приложения без установки стандартного (огромного) Oracle клиент или имеющий ORACLE_HOME. Просто поставьте DLL-файлы в тот же каталог, что и ваше приложение, и оно будет работать.

Недостаток этого решения заключается в том, что оно несовместимо с компонентами, поддерживающими БД. Но если вы используете TQuery напрямую, а затем сопоставьте результаты в классах Delphi, это может быть отличным решением.

0 голосов
/ 02 февраля 2010

Это основная проблема при разработке для oracle, за исключением того, что вы используете ODAC , который имеет прямое подключение к oracle, без установки клиента oracle на компьютерах клиентов.

и это намного быстрее, чем при использовании поставщиков ADO или OLE DB.

...