Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Menghubungkan Oracle ke PostgreSQL

Instruksi berikut menunjukkan cara menghubungkan Oracle di Linux ke PostgreSQL. Untuk informasi lebih lanjut tentang DG4ODBC, lihat tutorial DG4ODBC kami.

  1. Unduh driver ODBC PostgreSQL 64-bit untuk Linux.
  2. Instal dan lisensikan driver PostgreSQL ODBC pada mesin tempat Oracle diinstal.

    Untuk petunjuk penginstalan, lihat dokumentasi driver ODBC.

    Catatan Anda memerlukan Pengelola Driver unixODBC yang diinstal pada mesin Anda. Distribusi Easysoft menyertakan versi Pengelola Driver unixODBC yang telah diuji dengan driver ODBC Easysoft PostgreSQL. Program pengaturan driver Easysoft memberi Anda opsi untuk menginstal unixODBC.

  3. Buat sumber data ODBC di /etc/odbc.ini yang terhubung ke database PostgreSQL yang ingin Anda akses dari Oracle. Misalnya:
    [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. Gunakan isql untuk menguji sumber data baru. Misalnya:
    cd /usr/local/easysoft/unixODBC/bin
    ./isql.sh -v POSTGRESQL_SAMPLE
    

    Saat diminta, ketik "bantuan" untuk menampilkan daftar tabel. Untuk keluar, tekan kembali di baris prompt yang kosong.

    Jika Anda tidak dapat terhubung, lihat artikel ini untuk mendapatkan bantuan.

  5. Buat file init DG4ODBC. Untuk melakukannya, ubah ke hs/admin subdirektori. Misalnya:
    cd $ORACLE_HOME/product/11.2.0/xe/hs/admin
    

    Buat salinan file initdg4odbc.ora . Beri nama file baru initpostgresql.ora .

  6. Pastikan parameter dan nilai ini ada di file init Anda:
    HS_FDS_CONNECT_INFO = my_postgresql_odbc_dsn
    

    Ganti my_postgresql_odbc_dsn dengan nama sumber data driver PostgreSQL ODBC yang terhubung ke server PostgreSQL target. Misalnya

    HS_FDS_CONNECT_INFO = "POSTGRES_SAMPLE"
    
  7. Komentar baris yang memungkinkan penelusuran DG4ODBC. Misalnya:
    #HS_FDS_TRACE_LEVEL = <trace_level>
    
  8. Tambahkan entri ke listener.ora yang membuat SID_NAME untuk DG4ODBC. Misalnya:
    SID_LIST_LISTENER =
     (SID_LIST =
       (SID_DESC=
         (SID_NAME=postgresql)
         (ORACLE_HOME=$ORACLE_HOME)
         (PROGRAM=dg4odbc)
       )
     )
    
  9. Tambahkan entri DG4ODBC ke tnsnames.ora yang menentukan SID_NAME yang dibuat pada langkah sebelumnya. Misalnya:
    POSTGRESQL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_host)(PORT = 1521))
        (CONNECT_DATA =
          (SID = postgresql)
        )
        (HS = OK)
      )
    

    Ganti Oracle_host dengan nama host mesin Oracle Anda.

  10. Mulai (atau mulai ulang) Oracle Listener. Misalnya:
    lsnrctl stop
    lsnrctl start
    
  11. Hubungkan ke database Oracle Anda di SQL*Plus.
  12. Dalam SQL*Plus, buat tautan database untuk server PostgreSQL target. Misalnya:
    CREATE PUBLIC DATABASE LINK postgresqllink CONNECT TO
    "my_postgresql_user" IDENTIFIED by "my_postgresql_password" USING 'postgresql';
    SELECT * from employees@postgresqllink
    
Catatan
  • Jika Anda mengalami masalah saat menyambung ke PostgreSQL dari Oracle, aktifkan pelacakan DG4ODBC dan periksa file jejak yang ditulis ke hs/log direktori. Untuk mengaktifkan pelacakan DG4ODBC, tambahkan baris HS_FDS_TRACE_LEVEL = DEBUG ke initpostgresql.ora dan kemudian mulai/restart pendengar Oracle. Jika log direktori tidak ada, buatlah. Misalnya:
    mkdir log
    chmod +w log
    
  • Jika Anda mendapatkan kesalahan "ORA-00997:penggunaan ilegal tipe data PANJANG", tambahkan salah satu entri berikut ke sumber data ODBC Anda:
    DisguiseLong=1 # For non-Wide PostgreSQL long columns
    LimitLong=size in bytes # If this value is too big you will get ORA-00997

    –Atau–

    DisguiseWlong=1
    LimitLong=size in bytes# If this value is too big you will get ORA-00997
  • Jika Anda mendapatkan "ORA-28562:kesalahan pemotongan data Layanan Heterogen", saat bekerja dengan data PostgreSQL di Oracle, kami mungkin memiliki solusi untuk Anda, tetapi Anda perlu memahami implikasi penggunaannya. Untuk informasi lebih lanjut, hubungi tim Dukungan 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. Proses upgrade langkah demi langkah ke R12.2 Upgrade bagian -2 (Driver Upgrade Utama untuk R12.2.0)

  2. Ubah interval menjadi menit

  3. ORA-30926:tidak bisa mendapatkan set baris yang stabil di tabel sumber saat Menggabungkan tabel

  4. Bagaimana cara mengubah 1985-02-07T00:00:00.000Z (ISO8601) ke nilai tanggal di Oracle?

  5. Cara menghasilkan jejak FRD di Oracle Apps 11i/R12