![]() |
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 |
AW: Problem mit Unidac und Namensauflösung
Aber der Direct Mode ist eigene Implementierung des Protocols und ist nicht ident mit OCI Zugriff.
Bei einer Business Application macht das mal so keine großen Unterschiede, außer im biederen Detail mit Blobs möglw... Standarddatentypen machen kein Problem mehr. Über OCI geht er ganz offensichtlich nicht. So wäre meine Interpretation. Was mir persönlich so mal nicht gefällt. Wenn es jemanden interessiert ... ![]() Der Link war im Stackoverflow Thread. ![]() Ich kenne das Problem, wenn die Netzwerkverbindung ein Weilchen aussetzt oder ich den Rechner auf dem die Oracle 12 läuft umstecke. Du hast ja nicht umsonst einen Service Name. Die Registrierung kann auch 'schief gehen' wenn die Wall am CentOS oben ist. Selbst wenn du sie nachher abdrehst du müsstest die DB Niederfahren und wieder Hochfahren, damit sie sich registriert. Das führt überlicherweise nicht unbedingt zu dem Fehler mit der SID. Deswegen bin ich mir nicht sicher, ob nicht der Trouble von der Virtual Box Konfiguration kommt oder eben allein Spezifikum der Demo Versionen der DB die ich aus dem Technet habe runtergeladen. Bei Redhat und CentOS kann in dem Fall auch die Netzwerkschicht verwirrt sein oder wenn sich ein Kabel löst. Zitat:
|
AW: Problem mit Unidac und Namensauflösung
Hast du auch das korrekte Oracle-Home in den Optionen eingetragen? Bei mir funktioniert es grundsätzlich nur dann, wenn das korrekte Oracle-Home eingetragen ist, dann brauche ich auch keine SID einzutragen, da diese im Servereintrag der TNSNAMES vorhanden ist.
Grüße Mikhal |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:53 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-2025 by Thomas Breitkreuz