2017-12-19 4 views
0

Ich hoffe, dass Sie mir mit diesem Problem helfen können.ODBC Verbindung zu mehreren Oracle Servern (Listener.ora config.)

Ich habe derzeit eine Verbindung zu einem Oracle-Server, für den ich eine listener.ora und TNSNames.ora-Datei einrichten musste.

Ich habe diese Dateien mit 'Net Configuration Assistant' (OraClient11g64) erstellt.

Ich möchte jetzt eine Verbindung zu einem zusätzlichen Oracle-Server mit der gleichen Methode einrichten. Ich habe keinen neuen Listener erstellt, da ich nicht glaube, dass dies notwendig ist (?), Aber ich habe die Schritte für 'Local Net Service Name config' durchgeführt. ohne Glück.

Meine Fehlermeldung auf Test -

TNS: Zuhörer derzeit kenne Dienst nicht in Verbindungsdeskriptor angefordert

Ich vermute, meine Zuhörer falsch konfiguriert ist, sondern brauche ein wenig Hilfe.

‚listener.ora‘ ist wie folgt -

# listener.ora Network Configuration File: 
c:\oraclexxx\product64\11.2.0\client_1\network\admin\listener.ora 
# Generated by Oracle configuration tools. 

LISTENER = 
    (DESCRIPTION_LIST = 
    (DESCRIPTION = 
     (ADDRESS = (PROTOCOL = TCP)(HOST = XXXXXXXX.wks.xxx.com)(PORT = 1521)) 
    ) 
) 

ADR_BASE_LISTENER = c:\oraclexxx 

ich mit X. identifizierbaren Informationen ersetzt habe ich glaube, es sollte mehr auf diese Datei sein. Einige SID-Listen? Aber es funktioniert derzeit auf meiner einzigen Verbindung und der Assistent scheint es nicht anders zu machen.

Aktuelle TNSNAMES-Datei, die ich der Assistent gehofft würde sich ändern -

# tnsnames.ora Network Configuration File: 
c:\oraclexxx\product64\11.2.0\client_1\network\admin\tnsnames.ora 
# Generated by Oracle configuration tools. 

xxxxxx2 = 
    (DESCRIPTION = 
    (ADDRESS_LIST = 
     (ADDRESS = (PROTOCOL = TCP)(HOST = xxxxxx04.xxx.com)(PORT = 1531)) 
    ) 
    (CONNECT_DATA = 
     (SERVICE_NAME = xxxxxx2) 
    ) 
) 

Diese beiden Dateien arbeiten derzeit für meine ursprünglichen Oracle-Server, aber der Hörer nicht mag, wenn ich versuche, eine Verbindung zu der erstellen ein neues. Der neue Server ist auf Port 1521, wenn das einen Unterschied macht. Ich stelle fest, dass sich meine Verbindung und mein Hörer derzeit auf verschiedenen Ports befinden, aber in Ordnung sind.

Wie kann ich diese Dateien am besten konfigurieren? Ich habe überall im Netz gesucht, bin aber ein bisschen verloren und möchte nicht riskieren, meine aktuelle Verbindung zu unterbrechen.

Auch erwähnenswert ist, dass Oracle SQL Developer zu beiden ohne Problem verbindet.

+0

Der * Client * nicht brauche überhaupt einen Zuhörer. Die Server haben jeweils einen Listener; Ihre 'tnsnames.ora' hat dann einen Eintrag für jede der Datenbanken auf den Servern, zu denen Sie eine Verbindung herstellen müssen, mit spezifischen IP-Adressen, Ports (wahrscheinlich 1521, aber nicht unbedingt) und Dienstnamen (oder möglicherweise SIDs, aber Dienstnamen) bevorzugt) für diese Datenbanken. Sie können die grundlegenden Verbindungsinformationen, die Sie bereits in SQL Developer verwenden, in einem neuen TNS-Eintrag in dieser Datei manuell oder über netca verwenden. Angenommen, Sie benötigen überhaupt TNS-Verbindungen ... –

+0

Ich brauche das TNS, da ich R verwende, um mit den Servern zu interagieren. Das Problem ist, dass wenn ich Netca benutze und die Verbindung teste, es fehlschlägt. Ich werde versuchen, die neuen Details manuell in die 'tnsnames.ora'-Datei einzufügen und zu sehen, ob das funktioniert. – Jamsandwich

+1

Sie benötigen den Dienstnamen vom Listener des neuen Remote-Servers. Wenn Sie von SQL Developer aus eine Verbindung herstellen können, gibt diese Verbindung den Dienstnamen oder die SID an? Sie sind vielleicht nicht gleich. –

Antwort

0
select * from global_name; 

Ich lief auf meine neue Datenbank und der Service Name war ein wenig anders als die erwartet.

ABC.xxx.com anstatt nur ABC.

Verbindungstest funktionierte in NetCA. Beiden Verbindungstests jetzt fehlschlagen, wenn ‚Datenquellen (ODBC)‘ Konfiguration, aber sie scheinen tatsächlich zu funktionieren ok in R.

Dank für das führt mich in der richtigen Richtung @ Alex Poole