Oracle
 sql >> база данни >  >> RDS >> Oracle

Свързване на Oracle с PostgreSQL

Следните инструкции ви показват как да свържете Oracle на Linux към PostgreSQL. За допълнителна информация относно DG4ODBC вижте нашия урок за DG4ODBC.

  1. Изтеглете 64-битовия PostgreSQL ODBC драйвер за Linux.
  2. Инсталирайте и лицензирайте PostgreSQL ODBC драйвера на машината, където е инсталиран Oracle.

    За инструкции за инсталиране вижте документацията на ODBC драйвера.

    Забележка Имате нужда от unixODBC Driver Manager инсталиран на вашата машина. Дистрибуцията на Easysoft включва версия на unixODBC Driver Manager, с която е тестван драйверът на Easysoft PostgreSQL ODBC. Програмата за настройка на драйвера Easysoft ви дава възможност да инсталирате unixODBC.

  3. Създайте ODBC източник на данни в /etc/odbc.ini, който се свързва с базата данни PostgreSQL, до която искате да получите достъп от Oracle. Например:
    [POSTGRES_SAMPLE]Driver=Easysoft ODBC-Postgres ServerDescription=Easysoft ODBC-Postgres ServerServer=192.0.2.1Port=5432Database=employeesUser=postgresPassword=p4550rdNogFiogle> 
  4. Използвайте isql, за да тествате новия източник на данни. Например:
    cd /usr/local/easysoft/unixODBC/bin./isql.sh -v POSTGRESQL_SAMPLE

    При подкана въведете „помощ“, за да се покаже списък с таблици. За да излезете, натиснете връщане в празен ред с подкана.

    Ако не можете да се свържете, вижте тази статия за помощ.

  5. Създайте инициализиращ файл DG4ODBC. За да направите това, променете на hs/admin поддиректория. Например:
    cd $ORACLE_HOME/product/11.2.0/xe/hs/admin

    Създайте копие на файла initdg4odbc.ora . Наименувайте новия файл initpostgresql.ora .

  6. Уверете се, че тези параметри и стойности присъстват във вашия init файл:
    HS_FDS_CONNECT_INFO =my_postgresql_odbc_dsn 

    Заменете my_postgresql_odbc_dsn с името на източник на данни на PostgreSQL ODBC драйвер, който се свързва към целевия PostgreSQL сървър. Например

    HS_FDS_CONNECT_INFO ="POSTGRES_SAMPLE"
  7. Коментирайте реда, който позволява проследяване на DG4ODBC. Например:
    #HS_FDS_TRACE_LEVEL =
  8. Добавете запис към listener.ora което създава SID_NAME за DG4ODBC. Например:
    SID_LIST_LISTENER =(SID_LIST =(SID_DESC=(SID_NAME=postgresql) (ORACLE_HOME=$ORACLE_HOME) (PROGRAM=dg4odbc) ) )
  9. Добавете запис в DG4ODBC към tnsnames.ora който посочва SID_NAME, създаден в предишната стъпка. Например:
    POSTGRESQL =(DESCRIPTION =(АДРЕС =(PROTOCOL =TCP)(HOST =oracle_host) )(PORT =1521)) (CONNECT_DATA =(SID =postgresql) ) (HS =OK) )

    Заменете oracle_host с името на хоста на вашата Oracle машина.

  10. Стартирайте (или рестартирайте) Oracle Listener. Например:
    lsnrctl stoplsnrctl start
  11. Свържете се с вашата база данни Oracle в SQL*Plus.
  12. В SQL*Plus създайте връзка към базата данни за целевия PostgreSQL сървър. Например:
    СЪЗДАЙТЕ ВРЪЗКА ЗА ОБЩЕСТВЕНА БАЗА ДАННИ postgresqllink СВЪРЗВАНЕ СЪС "my_postgresql_user" ИДЕНТИФИЦИРАНА от "my_postgresql_password" ИЗПОЛЗВАНЕ НА 'postgresql'; ИЗБЕРЕТЕ * от служители@postgresqllink
Бележки
  • Ако имате проблеми при свързването с PostgreSQL от Oracle, активирайте проследяването на DG4ODBC и проверете проследяващите файлове, записани в hs/log директория. За да активирате проследяването на DG4ODBC, добавете реда HS_FDS_TRACE_LEVEL = DEBUG към initpostgresql.ora и след това стартирайте/рестартирайте слушателя на Oracle. Ако log директория не съществува, създайте я. Например:
    mkdir logchmod +w log
  • Ако получите грешка „ORA-00997:незаконна употреба на LONG тип данни“, добавете един от следните записи към вашия източник на данни ODBC:
    DisguiseLong=1 # За дълги колони на PostgreSQL, които не са широки LimitLong=размер в байтове # Ако тази стойност е твърде голяма, ще получите ORA-00997

    –Или–

    DisguiseWlong=1LimitLong=размер в байтове # Ако тази стойност е твърде голяма, ще получите ORA-00997
  • Ако получите „ORA-28562:Грешка при съкращаване на данни за хетерогенни услуги“, когато работите с PostgreSQL данни в Oracle, може да имаме решение за вас, но трябва да разберете последиците от използването му. За повече информация се свържете с екипа за поддръжка на Easysoft ().

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. DB Control наближава смъртта си

  2. Откриване на цикъл с рекурсивно факториране на подзаявка

  3. Конфигурирайте Hibernate да използва SYS_GUID() на Oracle за първичен ключ

  4. Изпълняване на 2 заявки едновременно на Oracle SQL Developer?

  5. Доставчикът на OraOLEDB.Oracle не е регистриран на локалната машина