The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"perl DBD::Oracle"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"perl DBD::Oracle" 
Сообщение от bestrafer Искать по авторуВ закладки(ok) on 02-Июл-05, 15:46  (MSK)
Приветствую.

Нужно в скрипте орбработать данные из нескольких СУБД Oracle.
Проблема в том, что версии Oracle 7 и 9.
Клиентские бибилиотеки для 7 и 9 версий не совместимы.

На данный момент на одной linux-машине установлен клиент версии 7 и собран DBD::Oracle(работает), на дргуой linux-машине - 9-ый клиент и соответственно собран DBD::Oracle(работает).

Задача: perl-скрипт на машине с установленным клиентом версии 9 должен работать и с базой Oracle 7.x.x. Т.е. надо перенести сбилденные библиотеки для 7 клиента и _динамически_ указывать в скрипте библиотеку для какой версии использовать.

Подскажите, какие библиотеки переносить и как указать в скрипте какую версию использовать?

Спасибо

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

  • perl DBD::Oracle, ACCA, 19:19 , 05-Июл-05, (1)  
    • perl DBD::Oracle, bestrafer, 16:05 , 06-Июл-05, (2)  

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "perl DBD::Oracle" 
Сообщение от ACCA Искать по авторуВ закладки(??) on 05-Июл-05, 19:19  (MSK)
>Задача: perl-скрипт на машине с установленным клиентом версии 9 должен работать и
>с базой Oracle 7.x.x. Т.е. надо перенести сбилденные библиотеки для 7
>клиента и _динамически_ указывать в скрипте библиотеку для какой версии использовать.

Сам такое не делал, но теоретически получается такая конструкция:

1.  Поставить клиента Oracle 7
3.  Сказать в ORA_HOME, где он
4.  Подхачить DBD::Oracle, чтобы он стал DBD::Oracle7 и искал клиента в
    $ENV{ORA7_HOME}
5.  Собрать и установить DBD::Oracle7
6.  Поставить клиента Oracle 9
7.  Сказать в ORA_HOME, где он
8.  Подхачить DBD::Oracle, чтобы он стал DBD::Oracle9 и искал клиента в
    $ENV{ORA9_HOME}
9.  Собрать и установить DBD::Oracle9
10. В своей программе установить ENV{ORA7_HOME} и ENV{ORA9_HOME} перед
    использованием соответствующего DBD::OracleX->connect

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "perl DBD::Oracle" 
Сообщение от bestrafer Искать по авторуВ закладки(??) on 06-Июл-05, 16:05  (MSK)
>Сам такое не делал, но теоретически получается такая конструкция:
спасибо за участие

>1.  Поставить клиента Oracle 7
>3.  Сказать в ORA_HOME, где он
>4.  Подхачить DBD::Oracle, чтобы он стал DBD::Oracle7 и искал клиента в
>
>    $ENV{ORA7_HOME}
>5.  Собрать и установить DBD::Oracle7
>6.  Поставить клиента Oracle 9
>7.  Сказать в ORA_HOME, где он
>8.  Подхачить DBD::Oracle, чтобы он стал DBD::Oracle9 и искал клиента в
>
>    $ENV{ORA9_HOME}
>9.  Собрать и установить DBD::Oracle9
>10. В своей программе установить ENV{ORA7_HOME} и ENV{ORA9_HOME} перед
>    использованием соответствующего DBD::OracleX->connect

нечто подобное и сделал, только ничего не "хачил"
собрал по отдельности DBD::Oracle для седьмой и девятой версий клиентов.
переместил их из auto каталога перла в другой каталог. А затем устанвливаю
необходимые для одной вресии клиента переменные и форкаю процесс, то же самое делаю и для другой версии. Форкать приходится из-за того, что
LD_LIBRARY_PATH не меняется динамически. По крайней мере у меня не получилось.
[code]

BEGIN {
        $ENV{ORACLE_HOME}="/ora/db";
        $ENV{NLS_LANG}="RUSSIAN_CIS.CL8MSWIN1251";
        $ENV{LD_LIBRARY_PATH}="/ora/db/lib:/ora/DBD_oracle805";
        $ENV{ORA_NLS33}="/ora/db/ocommon/nls/admin/data";
    }
}
fork ...
[/code]

и

[code]
BEGIN {
    $ENV{ORACLE_HOME}="/opt/oracle/product/9.2.0";
    $ENV{NLS_LANG}="AMERICAN_AMERICA.UTF8";
    $ENV{LD_LIBRARY_PATH}="/home/tolik/perl_dbd_ora92_backup/Oracle";
}

fork ...
[/code]

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру