![]() |
Datenbank: Oracle Home • Version: 12.1.0 • Zugriff über: Direkt und TNSNames
Problem mit Unidac und Namensauflösung
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich habe zwei VMs. In der einen läuft Oracle Home (12.1.0) Name des Rechners: oraclepc; der andere Delphi 10.1.2 Berlin eingesetzte DB-Tools: ODAC und UNIDAC. Die Namen der Rechner werden im lokalen Netz auch richtig aufgelöst. die listener.ora sieht aus wie folgt:
Code:
die TNSNames.ora auf dem Delphi Rechner sieht so aus:
SID_LIST_LISTENER =
(SID_LIST = (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = C:\app\oracleadmin\product\12.1.0\dbhome_1) (PROGRAM = extproc) (ENVS = "EXTPROC_DLLS=ONLY:C:\app\oracleadmin\product\12.1.0\dbhome_1\bin\oraclr12.dll") ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = oraclepc)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) )
Code:
auf dem Oracle Rechner sind zwei Datenbanken: oracle und kundendb - ich versuche die Datenbank kundendb zu erreichen.
KUNDENDB =
(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = oraclepc)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = kundendb) ) ) oracle = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = oraclepc)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = oracle) ) ) Mit ODAC klappt das bestens. Connection Direct und siehe da, funktioniert. Mit Unidac kommt trotz Connection Direct die Fehlermeldung: ORA-12505: TNS: Listener does not currently know of SID given in connect discriptor (siehe Screenshot anbei) Hat jemand eine Idee für die korrekte Konfig? Auf dem Delphi-Client ist der Oracle Client 12.1.0 installiert (Version: Administrator) beste Grüße mcinternet |
AW: Problem mit Unidac und Namensauflösung
Also auf ein und demselben Rechner funktioniert der Zugriff gegen beide DB via ODAC und via UNIDAC nicht?
Wenn ODAC funktioniert, sind die dargestellten Infos (Listener usw. ) entweder richtig oder sie werden gar nicht verwendet (wegen "direct connect") Ich kenne Unidac nicht, kann man dort auch direct connect machen? Dann sollte es mit den identischen Einstellungen funktionieren. Kann man damit kein direct connect machen, muss man diese Einstellungen (Listener, TNSnames ,.. überprüfen) Ein Anfang wäre tnsping.exe Bei einer administrator clientinstallation sollte das vorhanden sein. Per DOS Box aufrufen und den TNSName anpingen und das Resultat posten. |
AW: Problem mit Unidac und Namensauflösung
TNSPING
Code:
Bei UNIDAC gibt es auch den Direct Connect. Aber da kommt trotzdem die zuvor besagte Meldung.
C:\Users\joerg>tnsping oraclepc
TNS Ping Utility for 64-bit Windows: Version 12.1.0.2.0 - Production on 02-MRZ-2017 16:37:12 Copyright (c) 1997, 2014, Oracle. All rights reserved. Parameterdateien benutzt: C:\app\client\joerg\product\12.1.0\client_1\network\admin\sqlnet.ora Adapter EZCONNECT zur Aufl÷sung des Alias benutzt Verbindungsversuch mit (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.60)(PORT=1521))) OK (20 ms) C:\Users\joerg> gruss mcinternet |
AW: Problem mit Unidac und Namensauflösung
Ja, das ist aber nur das Ping auf den PC, ich dachte eher an ein Ping auf die DB.
Letztlich aber irgendwie auch wurst, wenn direct connect mit den anderen Komponenten nicht funktioniert. Ich kenne leider die Komponenten nicht und auch nicht die Geheimnisse von eazy connect. ezconnect umgeht m.E. nur die TNSNAMES geschichte, verwendet aber die lokalen oracle client libs. Bei UNIDAC weiß ich nicht, was das macht. |
AW: Problem mit Unidac und Namensauflösung
Sind Deine Komponenten aktuell?
EZ Connect geht nicht seit ewig und Direct Mode hat auch gewisse Voraussetzungen: ![]() Wahrscheinlich gibt es noch genauere Angaben, das hab ich auf die Schnelle gefunden. Aber es sieht nicht nach einem Orcle Problem aus, daher kann ich weiter ncith viel dazu sagen. |
AW: Problem mit Unidac und Namensauflösung
Gelöst!
Böse Sache das. Bei UNIDAC findet man in den Einstellungen keinen Punkt "SID", den muss man händisch in den Connectionstring eintragen: Provider Name=Oracle;Direct=True;Host=oraclepc;SID=kundendb ;User ID=kundendb;Password=#PAsswort;Schema=kundendb;Use Unicode=True Und meine Komponenten sind aktuell - heute nochmal frisch gesaugt. :) Gruss mcinternet |
AW: Problem mit Unidac und Namensauflösung
Kommst du jetzt im Direct Mode hin oder auch per OCI?
Service_name ist nicht die SID. Dabei handelt es sich um eine Indirektion. Von Rechts wegen registriert sich die Datenbank beim Listener. Die Funktionalität im Direct Mode ist nicht mit OCI Zugriff. Die Datenbank scheint sich nicht zu registrieren... ![]() Wenn du in einer VBOX die IP Adresse änderst kann das scheinbar passieren. Zitat:
|
AW: Problem mit Unidac und Namensauflösung
Er hat es doch gelöst. Die SID Property "war Schuld"
|
AW: Problem mit Unidac und Namensauflösung
UniDAC kennt DirectMode - unter Optionen in der Connection einzutragen.
Ich nutze diese Option ausschließlich, da ich nicht immer sicherstellen kann, das der Oracle-Client korrekt eingestellt ist. Grüße Mikhal |
AW: Problem mit Unidac und Namensauflösung
Zitat:
Gruss mcinternet |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz