Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi TNS-TimeOut bei DB-Zugriff von Client (https://www.delphipraxis.net/97703-tns-timeout-bei-db-zugriff-von-client.html)

sirius 14. Aug 2007 20:14

Datenbank: Oracle • Version: 9 • Zugriff über: Oracle OLE DB Provider

TNS-TimeOut bei DB-Zugriff von Client
 
Oracle bringt mich zum Verzweifeln.

Ich habe eine DB auf einem Rechner. von da aus kann ich problemlos auf die Datenbank zugreifen. Von einem anderen PC aus nicht (ich hatte das schonmal hinbekommen; keine Ahnung warum es jetzt nicht geht)

Ich bin im Net Manager (am Client) und versuche die Dienste anzugeben und mich von dort aus testweise anzumelden. Wenn ich als Dienstname irgendetwas wie "xyz" angebe (was eben nicht existiert), kommt bei einem Verbindungstest "TNS-Listener konnte im Verbindungsdeskribter angegebenen SERVICE_NAME nicht auflösen". Das ist zu erwarten und logisch.
Gebe ich einen existierenden Datenbanknamen an (hier: TestDB), dauert es eine Weile, bis ein TNS-Timeout kommt.


Der Listener auf dem Datenbank-PC (evmi08=192.168.121.207) sieht (aktuell; nach mehreren probieren) so aus
Code:
LISTENER =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = evmi08)(PORT = 1521))
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = globalDB)
      (SID_NAME = TestDB)
    )
  )
In der TNSNames.ora auf dem Datenbank PC steht u.a. das hier
Code:
TestDB =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = TestDB)
    )
  )
Die TNSNames auf dem ClientPC sieht genauso aus, nur das als Host eben 192.168.121.207 steht. Auf dem Datenbank-PC funktionierts auf dem Client-PC nicht.

TNSPing klappt.
Ich habe auch schon verschiedene Aliase ausprobiert. Nicht, dass sich da etwas beisst. Mit dem globalDB habe ich auch schon herumexperimentiert.


Die Frage ist also dann eher allgemein: Was muss ich wo einstellen, damit ich auf die Datenbank zugreifen kann?

Danke für Hilfe.


Edit: Das Listener-Control bekommt auch mit, dass der Client-PC was will. Da steht bei "Services" ...Handler: "DEDICATED" festgelegt: 1 ....
Und die Zahl hinter festgelegt erhöht sich bei jedem Versuch. Nur das ich eben beim client-PC diesen TNS-TimeOut bekomme (btw: ORA - 12535)

Edit: Wenn ich das so in der listener.log lese:
Zitat:

14-AUG-2007 23:02:32 * (CONNECT_DATA=(SERVICE_NAME=testdb)(INSTANCE_NAME= )(GLOBAL_NAME=)(RDB_DATABASE=)(SERVER=)(CID=(PROGR AM=C:\Programme\Oracle\jre\1.1.8\bin\jrew.exe)(HOS T=EVMI05)(USER=gasche))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.121.204)(PORT =1273)) * establish * testdb * 0
..dann frage ich mich gerade, was der Port 1273 aussagt. Der wird doch sicherlich von der Firewall geblockt. Leider kann ich die grad nicht ausschalten, da ich hier der letzte im Hause bin. :wall: Ich kann nur einzelne Ports abschalten (das ist ja doof!). Dummerweise ist beim nächsten Verbindungsaubau diese Portnummer anders.

sirius 15. Aug 2007 12:37

Re: TNS-TimeOut bei DB-Zugriff von Client
 
Es lag natürlich an der Firewall :wall:
Aber eh ich rausbekommen habe, dass noch ein zweiter (variabler) Port neben der 1521 verwendet wird.....

Jetzt muss ich nur noch herausbekommen, wie ich für einen Dienst (dessen Name ich derzeit noch nicht spezifizieren kann), eine unbestimmte Anzahl an Ports (anscheinend zwischen 1000 und 1400) freihalte.


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