2009-06-25 12 views
1

Ich versuche, Orakels hsodbc generische Datenbank Link-Treiber zu verwenden, um auf eine Postgresql-Datenbank von meinem Oracle 10gr2 Datenbankserver zuzugreifen. Ich denke, ich habe alles konfiguriert, aber ich erhalte diesen Fehler von der sqlplus-promt nach dem Versuch, eine Remote-Abfrage.Oracle Generic DB Link funktioniert nicht

 
SQL> select * from [email protected]; 
select * from [email protected] 
         * 
ERROR at line 1: 
ORA-28545: error diagnosed by Net8 when connecting to an agent 
Unable to retrieve text of NETWORK/NCR message 65535 
ORA-02063: preceding 2 lines from INTRANET 

Wenn ich „isql“ aus der Linux-Kommandozeile (mit anderen Worten Test nur die ODBC-Verbindung) die Abfrage funktioniert verwenden.

Ich gebe in "isql Intranet" (Intranet ist der Name der ODBC-Verbindung) Ich bekomme die Eingabeaufforderung ich tippe aus * temp_user * und ich erhalte meine 157 Datensätze auf dem Bildschirm.

Also ich weiß, dass die ODBC-Konfiguration korrekt eingerichtet ist. Hier ist, was ich für Orakel tue.

 
%oracle_home/hs/admin/inithsodbc.ora 
HS_FDS_CONNECT_INFO = intranet 
HS_FDS_TRACE_LEVEL = OFF 
HS_FDS_SHAREABLE_NAME = /usr/bin/ODBCConfig 
 
%oracle_home/network/admin/tnsnames.ora 
INTRANET = 
    (DESCRIPTION = 
    (ADDRESS_LIST = 
     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.5.1)(PORT = 5432)) 
    ) 
    (CONNECT_DATA = 
     (SID = INTRANET) 
    ) 
    (HS = OK) 

%oracle_home/network/admin/listener.ora 
SID_LIST_LISTENER = 
    (SID_LIST = 
    (SID_DESC = 
     (GLOBAL_DBNAME = INTRANET) 
     (PROGRAM = hsodbc) 
     (SID_NAME = INTRANET) 
     (ORACLE_HOME = /home/oracle/app/OraHomeTEST) 
LISTENER = 
    (DESCRIPTION_LIST = 
    (DESCRIPTION = 
     (ADDRESS = (PROTOCOL = TCP)(HOST = oracledb.andersen-const.com)(PORT = 5432)) 
    ) 
) 

Ich habe den Hörer neu gestartet. Es ist wie folgt.

Ich gehe dann in sqlplus von der Datenbank-Server-Befehlszeile und tun Sie Folgendes.

Datenbankverbindung erstellen Intranetverbindung zu einem von apassword identifizierten Benutzer mithilfe von 'Intranet';

Dies ist erfolgreich.

Allerdings, wenn ich laufen

select * from [email protected] 

ich den Fehler erhalten

 
ERROR at line 1: 
ORA-28545: error diagnosed by Net8 when connecting to an agent 
Unable to retrieve text of NETWORK/NCR message 65535 
ORA-02063: preceding 2 lines from INTRANET 

Ich habe verbringen atleast ein guter Tag über die konfiguriert zurück und versuchen, die Dinge und ich erhalte immer diesen Fehler.

jemand irgendwelche gute Ideen haben,

+0

Was ist das 'isql' Werkzeug? –

Antwort

1

Was bedeutet "tnsping Intranet" Bericht?

Sind Sie sicher, dass sich Ihr hsodbc-Prorgramm im Verzeichnis Oracle_home/bin Ihrer Gateway-Installation befindet? Ist Ihr LD_LIBRARY_PATH richtig eingestellt?

Ich glaube, Ihr LD_LIBRARY_PATH sollte $ ORACLE_HOME/lib sein. Sorry, ich bin mir nicht sicher, da ich in diesen Tagen nicht viel mit * Nix mache.

+0

Sorry vergessen, das hinzuzufügen. Es meldet folgendes. TNS Ping-Dienstprogramm für Linux: Version 10.2.0.3.0 - Produktion am 25-JUN-2009 09:15:12 Copyright (c) 1997, 2006, Oracle. Alle Rechte vorbehalten. -Nutzungs-Parameter-Dateien: Gebrauchte TNSNAMES Adapter den Alias ​​ Der Versuch, in Verbindung (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = 192.168.5.1) (PORT = 5432))) (CONNECT_DATA zu lösen = (SID = INTRANET)) (HS = OK)) OK (0 ms) –

+0

Ok sieht aus wie es sein könnte mein ld_library_path hier ist das Neueste. Was sollte dieser Weg sein? [oracle @ oracledb ~] $ hsodbc [oracle @ oracledb ~] $ die hsodbc ~/app/OraHomeTEST/bin/hsodbc [oracle @ oracledb ~] $ echo $ LD_LIBRARY_PATH das Echo Befehl gibt nichts. –