AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Problem mit Unidac und Namensauflösung
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Unidac und Namensauflösung

Ein Thema von mcinternet · begonnen am 2. Mär 2017 · letzter Beitrag vom 3. Mär 2017
Antwort Antwort
Seite 1 von 2  1 2      
mcinternet

Registriert seit: 22. Apr 2010
Ort: Odenwald
193 Beiträge
 
Delphi 10.3 Rio
 
#1

Problem mit Unidac und Namensauflösung

  Alt 2. Mär 2017, 14:48
Datenbank: Oracle Home • Version: 12.1.0 • Zugriff über: Direkt und TNSNames
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:
   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))
    )
  )
die TNSNames.ora auf dem Delphi Rechner sieht so aus:
Code:
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)
    )
  )
auf dem Oracle Rechner sind zwei Datenbanken: oracle und kundendb - ich versuche die Datenbank kundendb zu erreichen.
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
Miniaturansicht angehängter Grafiken
oracle-connection-error.jpg  
Jörg
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#2

AW: Problem mit Unidac und Namensauflösung

  Alt 2. Mär 2017, 15:36
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.
Gruß, Jo
  Mit Zitat antworten Zitat
mcinternet

Registriert seit: 22. Apr 2010
Ort: Odenwald
193 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Problem mit Unidac und Namensauflösung

  Alt 2. Mär 2017, 15:41
TNSPING
Code:
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>
Bei UNIDAC gibt es auch den Direct Connect. Aber da kommt trotzdem die zuvor besagte Meldung.

gruss

mcinternet
Jörg
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#4

AW: Problem mit Unidac und Namensauflösung

  Alt 2. Mär 2017, 15:55
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.
Gruß, Jo
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#5

AW: Problem mit Unidac und Namensauflösung

  Alt 2. Mär 2017, 16:07
Sind Deine Komponenten aktuell?

EZ Connect geht nicht seit ewig und Direct Mode hat auch gewisse Voraussetzungen:
https://www.devart.com/dotconnect/or...irectMode.html
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.
Gruß, Jo
  Mit Zitat antworten Zitat
mcinternet

Registriert seit: 22. Apr 2010
Ort: Odenwald
193 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Problem mit Unidac und Namensauflösung

  Alt 2. Mär 2017, 16:34
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
Jörg
  Mit Zitat antworten Zitat
MichaelT

Registriert seit: 14. Sep 2005
Ort: 4020 Linz
532 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: Problem mit Unidac und Namensauflösung

  Alt 2. Mär 2017, 20:57
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...
http://stackoverflow.com/questions/5...nnect-descript

Wenn du in einer VBOX die IP Adresse änderst kann das scheinbar passieren.


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
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#8

AW: Problem mit Unidac und Namensauflösung

  Alt 3. Mär 2017, 04:48
Er hat es doch gelöst. Die SID Property "war Schuld"
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
795 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Problem mit Unidac und Namensauflösung

  Alt 3. Mär 2017, 07:28
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
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
mcinternet

Registriert seit: 22. Apr 2010
Ort: Odenwald
193 Beiträge
 
Delphi 10.3 Rio
 
#10

AW: Problem mit Unidac und Namensauflösung

  Alt 3. Mär 2017, 07:29
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
Das habe ich ja eingangs bereits beschrieben. Das Problem war die Property "SID", das ist in den Optionen nicht aufgeführt und daher konnte ich lang suchen.

Gruss

mcinternet
Jörg
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz