Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Podłączanie Oracle do PostgreSQL

Poniższe instrukcje pokazują, jak połączyć Oracle w systemie Linux z PostgreSQL. Więcej informacji na temat DG4ODBC można znaleźć w naszym samouczku DG4ODBC.

  1. Pobierz 64-bitowy sterownik ODBC PostgreSQL dla systemu Linux.
  2. Zainstaluj i uzyskaj licencję na sterownik PostgreSQL ODBC na komputerze, na którym zainstalowano Oracle.

    Instrukcje dotyczące instalacji można znaleźć w dokumentacji sterownika ODBC.

    Uwaga Musisz mieć zainstalowany na swoim komputerze menedżer sterowników unixODBC. Dystrybucja Easysoft zawiera wersję menedżera sterowników unixODBC, z którą przetestowano sterownik ODBC Easysoft PostgreSQL. Program instalacyjny sterownika Easysoft daje możliwość zainstalowania unixODBC.

  3. Utwórz źródło danych ODBC w /etc/odbc.ini, które łączy się z bazą danych PostgreSQL, do której chcesz uzyskać dostęp z Oracle. Na przykład:
    [POSTGRES_SAMPLE]
    Driver=Easysoft ODBC-Postgres Server
    Description=Easysoft ODBC-Postgres Server
    Server=192.0.2.1
    Port=5432
    Database=employees
    User=postgres
    Password=p4550rd
    Logging=No
    LogFile=
    Encrypt=No
    
  4. Użyj isql, aby przetestować nowe źródło danych. Na przykład:
    cd /usr/local/easysoft/unixODBC/bin
    ./isql.sh -v POSTGRESQL_SAMPLE
    

    W wierszu polecenia wpisz „pomoc”, aby wyświetlić listę tabel. Aby wyjść, naciśnij return w pustym wierszu zachęty.

    Jeśli nie możesz się połączyć, zapoznaj się z tym artykułem, aby uzyskać pomoc.

  5. Utwórz plik inicjujący DG4ODBC. Aby to zrobić, przejdź do hs/admin podkatalog. Na przykład:
    cd $ORACLE_HOME/product/11.2.0/xe/hs/admin
    

    Utwórz kopię pliku initdg4odbc.ora . Nazwij nowy plik initpostgresql.ora .

  6. Upewnij się, że te parametry i wartości są obecne w Twoim pliku początkowym:
    HS_FDS_CONNECT_INFO = my_postgresql_odbc_dsn
    

    Zastąp my_postgresql_odbc_dsn z nazwą źródła danych sterownika PostgreSQL ODBC, które łączy się z docelowym serwerem PostgreSQL. Na przykład

    HS_FDS_CONNECT_INFO = "POSTGRES_SAMPLE"
    
  7. Skomentuj wiersz, który umożliwia śledzenie DG4ODBC. Na przykład:
    #HS_FDS_TRACE_LEVEL = <trace_level>
    
  8. Dodaj wpis do listener.ora który tworzy SID_NAME dla DG4ODBC. Na przykład:
    SID_LIST_LISTENER =
     (SID_LIST =
       (SID_DESC=
         (SID_NAME=postgresql)
         (ORACLE_HOME=$ORACLE_HOME)
         (PROGRAM=dg4odbc)
       )
     )
    
  9. Dodaj wpis DG4ODBC do tnsnames.ora który określa SID_NAME utworzony w poprzednim kroku. Na przykład:
    POSTGRESQL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_host)(PORT = 1521))
        (CONNECT_DATA =
          (SID = postgresql)
        )
        (HS = OK)
      )
    

    Zastąp oracle_host z nazwą hosta Twojej maszyny Oracle.

  10. Uruchom (lub uruchom ponownie) nasłuchiwanie Oracle. Na przykład:
    lsnrctl stop
    lsnrctl start
    
  11. Połącz się z bazą danych Oracle w SQL*Plus.
  12. W SQL*Plus utwórz łącze do bazy danych dla docelowego serwera PostgreSQL. Na przykład:
    CREATE PUBLIC DATABASE LINK postgresqllink CONNECT TO
    "my_postgresql_user" IDENTIFIED by "my_postgresql_password" USING 'postgresql';
    SELECT * from employees@postgresqllink
    
Notatki
  • Jeśli masz problemy z połączeniem z PostgreSQL z Oracle, włącz śledzenie DG4ODBC i sprawdź pliki śledzenia zapisane w hs/log informator. Aby włączyć śledzenie DG4ODBC, dodaj wiersz HS_FDS_TRACE_LEVEL = DEBUG do initpostgresql.ora a następnie uruchom/zrestartuj odbiornik Oracle. Jeśli log katalog nie istnieje, utwórz go. Na przykład:
    mkdir log
    chmod +w log
    
  • Jeśli pojawi się błąd „ORA-00997:nielegalne użycie typu danych LONG”, dodaj jeden z następujących wpisów do źródła danych ODBC:
    DisguiseLong=1 # For non-Wide PostgreSQL long columns
    LimitLong=size in bytes # If this value is too big you will get ORA-00997

    –Lub–

    DisguiseWlong=1
    LimitLong=size in bytes# If this value is too big you will get ORA-00997
  • Jeśli podczas pracy z danymi PostgreSQL w Oracle pojawi się komunikat „ORA-28562:błąd obcinania danych usług heterogenicznych”, możemy mieć dla Ciebie obejście tego problemu, ale musisz zrozumieć konsekwencje jego używania. Aby uzyskać więcej informacji, skontaktuj się z zespołem pomocy technicznej 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. Oracle Instant Client dla urządzenia Debiana opartego na architekturze ARM

  2. Przykład tabeli zewnętrznej Oracle

  3. Podłączanie oprogramowania IRI do Oracle

  4. Wywołaj funkcję Oracle z Javy

  5. Wywołanie procedury składowanej Oracle z parametrem wyjściowym z SQL Server