sql >> Databasteknik >  >> RDS >> Oracle

Ansluter Oracle till PostgreSQL

Följande instruktioner visar hur du ansluter Oracle på Linux till PostgreSQL. För ytterligare information om DG4ODBC, se vår DG4ODBC handledning.

  1. Ladda ner 64-bitars PostgreSQL ODBC-drivrutinen för Linux.
  2. Installera och licensiera PostgreSQL ODBC-drivrutinen på maskinen där Oracle är installerat.

    För installationsinstruktioner, se dokumentationen för ODBC-drivrutinen.

    Obs Du behöver unixODBC Driver Manager installerad på din maskin. Easysoft-distributionen inkluderar en version av unixODBC Driver Manager som Easysoft PostgreSQL ODBC-drivrutinen har testats med. Easysofts drivrutinsinstallationsprogram ger dig möjlighet att installera unixODBC.

  3. Skapa en ODBC-datakälla i /etc/odbc.ini som ansluter till den PostgreSQL-databas som du vill komma åt från Oracle. Till exempel:
    [POSTGRES_SAMPLE]Driver=Easysoft ODBC-Postgres ServerDescription=Easysoft ODBC-Postgres ServerServer=192.0.2.1Port=5432Database=employeesUser=postgresPassword=p4550rdFigging=EnNoLlogging=EnNocryptFigging 
  4. Använd isql för att testa den nya datakällan. Till exempel:
    cd /usr/local/easysoft/unixODBC/bin./isql.sh -v POSTGRESQL_SAMPLE

    Vid prompten skriver du "hjälp" för att visa en lista med tabeller. För att avsluta, tryck på retur i en tom uppmaningsrad.

    Om du inte kan ansluta, se den här artikeln för hjälp.

  5. Skapa en DG4ODBC init-fil. För att göra detta, ändra till hs/admin underkatalog. Till exempel:
    cd $ORACLE_HOME/product/11.2.0/xe/hs/admin

    Skapa en kopia av filen initdg4odbc.ora . Namnge den nya filen initpostgresql.ora .

  6. Se till att dessa parametrar och värden finns i din init-fil:
    HS_FDS_CONNECT_INFO =my_postgresql_odbc_dsn 

    Ersätt my_postgresql_odbc_dsn med namnet på en PostgreSQL ODBC-drivrutinsdatakälla som ansluter till målservern för PostgreSQL. Till exempel

    HS_FDS_CONNECT_INFO ="POSTGRES_SAMPLE"
  7. Kommentera raden som möjliggör DG4ODBC-spårning. Till exempel:
    #HS_FDS_TRACE_LEVEL =
  8. Lägg till en post i listener.ora som skapar en SID_NAME för DG4ODBC. Till exempel:
    SID_LIST_LISTENER =(SID_LIST =(SID_DESC=(SID_NAME=postgresql) (ORACLE_HOME=$ORACLE_HOME) (PROGRAM=dg4odbc) ) )
  9. Lägg till en DG4ODBC-post i tnsnames.ora som anger SID_NAME som skapades i föregående steg. Till exempel:
    POSTGRESQL =(DESCRIPTION =(ADRESS =(PROTOKOL =TCP))(HOST =oracle_host )(PORT =1521)) (CONNECT_DATA =(SID =postgresql) ) (HS =OK) )

    Ersätt oracle_host med värdnamnet för din Oracle-maskin.

  10. Starta (eller starta om) Oracle Listener. Till exempel:
    lsnrctl stoplsnrctl start
  11. Anslut till din Oracle-databas i SQL*Plus.
  12. I SQL*Plus, skapa en databaslänk för mål-PostgreSQL-servern. Till exempel:
    SKAPA OFFENTLIG DATABASLÄNK postgresqllink ANSLUTA TILL"my_postgresql_user" IDENTIFIERAD av "my_postgresql_password" MED 'postgresql';VÄLJ * från anställda@postgresqllink
Anteckningar
  • Om du har problem med att ansluta till PostgreSQL från Oracle, aktivera DG4ODBC-spårning och kontrollera spårningsfilerna som skrivits till hs/log katalog. För att aktivera DG4ODBC-spårning, lägg till raden HS_FDS_TRACE_LEVEL = DEBUG till initpostgresql.ora och starta/starta om Oracle-lyssnaren. Om log katalogen finns inte, skapa den. Till exempel:
    mkdir logchmod +w log
  • Om du får felmeddelandet "ORA-00997:illegal användning av LONG datatyp", lägg till en av följande poster till din ODBC-datakälla:
    DisguiseLong=1 # For non-Wide PostgreSQL long columnsLimitLong=size i byte # Om detta värde är för stort får du ORA-00997

    –Eller–

    DisguiseWlong=1LimitLong=storlek i byte # Om detta värde är för stort får du ORA-00997
  • Om du får "ORA-28562:Heterogeneous Services data trunkeringsfel", när du arbetar med PostgreSQL-data i Oracle, kan vi ha en lösning för dig, men du måste förstå konsekvenserna av att använda den. För mer information, kontakta Easysofts supportteam ().

  1. Hur man ignorerar fel med psql \copy meta-kommando

  2. En SaaS-prenumerationsdatamodell

  3. Hur CONVERT_TZ() fungerar i MariaDB

  4. Möt Michal Bar and Me på Microsoft Ignite!