Распространение клиентского приложения Oracle может стать кошмаром, даже сегодня, когда у вас есть 64-битная Windows.
Какую версию клиента вы должны установить? Для вашего приложения Delphi вам понадобится 32-разрядная версия. Но что делать, если другим программам нужен доступ к 64-битной версии? Вам нужно несколько ORACLE_HOME с дублирующимися настройками или заставить DotNet-код работать в 32-битном режиме.
Сначала я написал Delphi wrapper using OleDB, а затем понял, как трудно было его развернуть при использовании Oracle DB. То же самое, что и у вас ...
Затем я написал dedicated version, calling directly the OCI library. Скорость была там (в 2-5 раз быстрее, чем OleDB), с легким развертыванием.
Вы можете использовать последнюю версию Instant Client Oracle, предоставленной Oracle - см this download link - который позволяет запускать приложения, не устанавливая стандарт (огромный) Oracle клиент или имеющий ORACLE_HOME. Просто доставьте DLL-файлы в том же каталоге, что и ваше приложение, и оно будет работать.
Недостатком этого решения является то, что он несовместим с компонентами, известными в БД. Но если вы используете TQuery напрямую, то сопоставьте результаты в классах Delphi, это может быть отличное решение.
Если ваши клиенты уже являются пользователями Oracle, у них уже будет установлен клиент Oracle? Если это так, то, вероятно, не будет ничего другого для вас. –
@Scott Поставщик Oracle OleDB не входит в стандартную настройку Oracle Client. Это проблема. –