Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi TNS bei Oracle Instant Client bekannt machen (https://www.delphipraxis.net/85321-tns-bei-oracle-instant-client-bekannt-machen.html)

Bernhard Geyer 29. Jan 2007 11:25

Datenbank: Oracle • Version: ? • Zugriff über: OCI

TNS bei Oracle Instant Client bekannt machen
 
Ich habe jetzt den Oracle Instant Client "Installiert" und die OCI-Dateien werden auch nach sethen der
ORACLE_HOME-Umgebungsvariable korrekt geladen, jedoch bekomme ich beim Versuch meine bisherigen "Server-Ports" genauso
im Programm zu verwenden folgenden Fehler:

Zitat:

ORA-12154: TNS:could not resolve the connect identifier specified
Er wird vermutlich Probleme haben den (Symbolischen ?) Namen aufzulösen.
Was muß ich jetzt angeben damit mein Server gefunden wird?

Mattin 29. Jan 2007 11:49

Re: TNS bei Oracle Instant Client bekannt machen
 
Hallo Bernhard,

überprüfe mal bitte deine TNSNAMES.ORA

Zu finden: ORACLE-> Product -> Version -> Client_1 -> Network -> Admin


TESTDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = TestServer)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = TESTDB)
)
)

Falls die Namensauflösung nicht funktioniert musst kannst Du
auch die IP angeben.

Beispiel TestServer -> 192.168.2.1

Elvis 29. Jan 2007 12:06

Re: TNS bei Oracle Instant Client bekannt machen
 
Zitat:

Zitat von Bernhard Geyer
Ich habe jetzt den Oracle Instant Client "Installiert" und die OCI-Dateien werden auch nach sethen der
ORACLE_HOME-Umgebungsvariable korrekt geladen

Ich würde empfehlen anwendungsspezifische Env-Variablen zu verwenden, oder noch besser: gar keine.
Du willst ja nicht, dass deine App ein bestehendes (verkrüppeltes) System zerschießt. (Glaube mir, du bist dann schuld :? )
Ich habe schon so oft abartig verkrüppelte Ora client installationen gesehen, damit willst du dich nicht anlegen. ;)
Zitat:

, jedoch bekomme ich beim Versuch meine bisherigen "Server-Ports" genauso im Programm zu verwenden folgenden Fehler:
Zitat:

ORA-12154: TNS:could not resolve the connect identifier specified

Benutze als Data source im OCI connect direkt den Descriptor, der sonst in der TnsNames stand.
So bist du relativ frei von allem was in dem System herumfleucht, und vor allem du bist sicher vor den bestehenden Anwendungen in dem System.
Frage einfach mal Alfons_G was manche Apps mit Ora DBs machen, die sie in der TnsNames finden. :shock:
Zitat:

Er wird vermutlich Probleme haben den (Symbolischen ?) Namen aufzulösen.
Was muß ich jetzt angeben damit mein Server gefunden wird?
Du brauchst entweder eine TnsNames.ora wie Mattin sie beschrieb, oder du verwendest keine benannten Verbindungen.
Der Deskriptor selbst sie aus wie das in Mattins Beispiel nach "TESTDB = ", das kannst du einfach als Einzeiler als Data Source übergeben.

Eine Instant client im Anwendungsverzeichnis und direkte Verbindungsinfos sollten eigentlich immer laufen, unabhängig von dem System auf dem es läuft.
Ich habe zum Beispiel einen PL/SQL Developer auf einem USB Stick, der läuft überall, egal ob oder was für ein Ora Client installiert ist. :)
Theoretisch sollte es auch reichen die TnsNames.ora ins Anwendungsverzeichnis zu packen. (Aber DOA mag das irgendwie nicht :? )

Bernhard Geyer 29. Jan 2007 12:46

Re: TNS bei Oracle Instant Client bekannt machen
 
Zitat:

Zitat von Mattin
überprüfe mal bitte deine TNSNAMES.ORA

Hab jetzt die ORA-Datei von meinem "alten" PC in das gleiche Unterverzeichnis
kopiert und es geht jetzt.

Zitat:

Zitat von Elvis
Ich würde empfehlen anwendungsspezifische Env-Variablen zu verwenden, oder noch besser: gar keine.

Falls diese Lösung bei den Kunden auch verwendet werden sollte dan ja. Für meinen Entwickler-PC reicht es erstmal so.

Zitat:

Zitat von Elvis
Du willst ja nicht, dass deine App ein bestehendes (verkrüppeltes) System zerschießt. (Glaube mir, du bist dann schuld :? )
Ich habe schon so oft abartig verkrüppelte Ora client installationen gesehen, damit willst du dich nicht anlegen. ;)

Glücklicherweise hatten wir immer halbwegsfähige Oracle-Admins so das das uns egal war. Wir mußten nichts installieren/konfigurieren.

Zitat:

Zitat von Elvis
Benutze als Data source im OCI connect direkt den Descriptor, der sonst in der TnsNames stand.
So bist du relativ frei von allem was in dem System herumfleucht, und vor allem du bist sicher vor den bestehenden Anwendungen in dem System.

Hab schon diverses Probiert aber meine DOA-Kompos (hätte ich erwähnen sollen) wollen scheinbar nicht so recht.

Zitat:

Zitat von Elvis
Der Deskriptor selbst sie aus wie das in Mattins Beispiel nach "TESTDB = ", das kannst du einfach als Einzeiler als Data Source übergeben.

Wollte nicht :-(.

Aber das reicht für heute. Mit der ORA-Datei+Umgebungsvariable kann ich leben und bei den Kunden soll sich der Oracle-Admin herumärgern.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:32 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