2010-12-15 3 views
4

Я в настоящее время получаю доступ к базе данных Oracle 9i (9.2.0.8.0) с использованием модулей perl DBI (1.613) и DBD :: Oracle (1.26). Текущая область действия проекта теперь требует, чтобы я обращался к базе данных Oracle 8i (8.1.7.4.0) и, согласно DBD::Oracle project, я могу получить доступ только к этой второй базе данных с DBD :: Oracle версии 1.20 или ниже.Как я могу получить доступ к двум базам данных Oracle с различными версиями (8i и 9) с помощью perl?

Я знаю, что я мог бы использовать версию DBD 1.20 для доступа к обеим базам данных, но мне было интересно, возможно ли установить две версии модуля DBD и использовать приемлемую версию для каждой базы данных (менее подверженной ошибкам) ,

+0

Нужно ли вам одновременно обращаться к обеим базам данных из одной программы? – salva 2010-12-15 12:48:51

+0

К сожалению, да. – Isabelle 2010-12-15 18:50:06

ответ

5

Я не верю, что версия сервера имеет какое-либо отношение к версии DBD :: Oracle, которую вы можете использовать, только для версии клиентских библиотек, которые вы устанавливаете. 9.2, 10.1 и 10.2 версии клиентских библиотек Oracle поддерживают подключение к серверу Oracle 8.1.7.4, а последняя версия DBD :: Oracle остается совместимой со всеми клиентскими библиотеками с 9.2, поэтому я не думаю, что вы будете на самом деле есть какая-то проблема. Однако, если вы установите клиент версии 11, вы потеряете возможность подключения к версиям сервера ниже 9.2.0.

4

Установите различные версии DBI/DBD :: Oracle в два разных места, см. INSTALL_BASE/--install_base. Получите их отдельно, установив PERL5LIB соответствующим образом.

local::lib помогает вам автоматизировать все это дело.

3

Если вы хотите получить доступ две версии базы данных из одной и той же работы программы вы можете сделать следующее:

  • установить обе версии в системе с помощью local::lib

  • запустить сервер DBD::Proxy с @LIB настроен на загрузку одной версии DBD :: Oracle

  • запустите свой скрипт с помощью @LIB, настроенного для загрузки другой версии DBD :: Or acle

  • в вашем скрипте подключиться к одной базе данных, используя DBD :: Oracle как обычно, а другой через прокси.

 Смежные вопросы

  • Нет связанных вопросов^_^