Následující pokyny ukazují, jak připojit Oracle v Linuxu k PostgreSQL. Další informace o DG4ODBC naleznete v našem kurzu DG4ODBC.
- Stáhněte si 64bitový ovladač PostgreSQL ODBC pro Linux.
- Nainstalujte a licencujte ovladač PostgreSQL ODBC na počítači, kde je nainstalován Oracle.
Pokyny k instalaci naleznete v dokumentaci ovladače ODBC.
Poznámka Na vašem počítači potřebujete nainstalovaný unixODBC Driver Manager. Distribuce Easysoft obsahuje verzi unixODBC Driver Manager, se kterou byl testován ovladač Easysoft PostgreSQL ODBC. Instalační program ovladače Easysoft vám dává možnost nainstalovat unixODBC.
- Vytvořte zdroj dat ODBC v /etc/odbc.ini, který se připojuje k databázi PostgreSQL, ke které chcete přistupovat z Oracle. Například:
[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
Encrypt - K testování nového zdroje dat použijte isql. Například:
cd /usr/local/easysoft/unixODBC/bin ./isql.sh -v POSTGRESQL_SAMPLE
Na výzvu zadejte "help" pro zobrazení seznamu tabulek. Pro ukončení stiskněte return v prázdném řádku s výzvou.
Pokud se nemůžete připojit, vyhledejte pomoc v tomto článku.
- Vytvořte inicializační soubor DG4ODBC. Chcete-li to provést, přejděte na
hs/admin
podadresář. Například:cd $ORACLE_HOME/product/11.2.0/xe/hs/admin
Vytvořte kopii souboru
initdg4odbc.ora
. Nový soubor pojmenujteinitpostgresql.ora
. - Ujistěte se, že ve vašem init souboru jsou tyto parametry a hodnoty:
HS_FDS_CONNECT_INFO = my_postgresql_odbc_dsn
Nahraďte my_postgresql_odbc_dsn s názvem zdroje dat ovladače PostgreSQL ODBC, který se připojuje k cílovému serveru PostgreSQL. Například
HS_FDS_CONNECT_INFO = "POSTGRES_SAMPLE"
- Okomentujte řádek, který umožňuje trasování DG4ODBC. Například:
#HS_FDS_TRACE_LEVEL = <trace_level>
- Přidejte záznam na
listener.ora
který vytvoří SID_NAME pro DG4ODBC. Například:SID_LIST_LISTENER = (SID_LIST = (SID_DESC= (SID_NAME=postgresql) (ORACLE_HOME=$ORACLE_HOME) (PROGRAM=dg4odbc) ) )
- Přidejte záznam DG4ODBC na
tnsnames.ora
který určuje SID_NAME vytvořený v předchozím kroku. Například:POSTGRESQL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = oracle_host)(PORT = 1521)) (CONNECT_DATA = (SID = postgresql) ) (HS = OK) )
Nahraďte oracle_host s názvem hostitele vašeho počítače Oracle.
- Spusťte (nebo restartujte) Oracle Listener. Například:
lsnrctl stop lsnrctl start
- Připojte se ke své databázi Oracle v SQL*Plus.
- V SQL*Plus vytvořte odkaz na databázi pro cílový server PostgreSQL. Například:
CREATE PUBLIC DATABASE LINK postgresqllink CONNECT TO "my_postgresql_user" IDENTIFIED by "my_postgresql_password" USING 'postgresql'; SELECT * from employees@postgresqllink
Poznámky
- Pokud máte problémy s připojením k PostgreSQL z Oracle, povolte trasování DG4ODBC a zkontrolujte trasovací soubory zapsané do
hs/log
adresář. Chcete-li povolit trasování DG4ODBC, přidejte řádekHS_FDS_TRACE_LEVEL = DEBUG
nainitpostgresql.ora
a poté spusťte/restartujte Oracle listener. Pokudlog
adresář neexistuje, vytvořte jej. Například:mkdir log chmod +w log
- Pokud se zobrazí chyba „ORA-00997:nelegální použití datového typu LONG“, přidejte do zdroje dat ODBC jednu z následujících položek:
DisguiseLong=1 # For non-Wide PostgreSQL long columns LimitLong=size in bytes # If this value is too big you will get ORA-00997
–Nebo–
DisguiseWlong=1 LimitLong=size in bytes# If this value is too big you will get ORA-00997
- Pokud se vám při práci s daty PostgreSQL v Oracle zobrazí „ORA-28562:Chyba zkrácení dat heterogenních služeb“, možná pro vás máme řešení, ale musíte pochopit důsledky jeho používání. Pro více informací kontaktujte tým podpory Easysoft ().