Announcement

Collapse
No announcement yet.

Port Nummer des Listeners per SQL auslesen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Port Nummer des Listeners per SQL auslesen

    Für das Connect mit dem DataDirect JDBC-Treiber 4.0 (f. MapInfo 7.0) auf eine Oracle-DB über eine System-DSN benötige ich die Port-Nummer unter der die DB angesprochen wird.
    Bei Verwendung des Standard-Ports 1521 ist es auch ohne Port-Nummer kein Problem, aber wenn ein anderer Port verwendet wird, muss er im Connect-String explizit eingetragen werden. Es reicht nicht, den Port in den Vorgaben der DSN einzutragen, ein automatisches Connect erfolgt dann nicht.
    Gibt es eine View auf der Datenbank in der evtl. die Port-Nummer eingetragen ist, so dass ich sie per SQL (bzw. Oracle Forms) auslesen kann?

    Vielen Dank
    Rüdiger

  • #2
    Ist das wirklich nötig.

    Wenn Du mit JDBC eine View abfragen möchtest, dann muß Du schon auf die DB connected sein und somit ist das Port schon bekannt. Wenn Du aber mit Deinem lokalen sqlplus arbeitest, dann bist Du auch schon connected und im Filesystem steht das Port. "Tnsnames.ora"

    Also, die unbekannte muß immer und ist immer bekannt.

    Dietma

    Comment


    • #3
      Ich habe eine Oracle-Forms-Applikation die per Oracle-ODBC-Client verbunden ist, die braucht keine Portnummer, da sie die Datenbank aus dem TNSNames-Eintrag direkt erhält.

      Diese Applikation ruft nun MapInfo auf. MapInfo 7.0 verwendet einen JDBC-Treiber, der sich nicht mit den normalen ODBC-Connect-Attributen zufrieden gibt, sondern zusätzlich den Rechnernamen und den Port als Attribut benötigt.

      Den Rechnernamen (Hostnamen) erhalte ich über V_$SESSION, nur den Port kann ich nirgendwo einsehen.

      Meine bisherige Lösung besteht darin über den Host-Befehl TNSPING aufzurufen und die Ausgabe in eine Datei zu pipen, die dann wiederum nach der Port-Nummer durchsucht wird. Kein sehr elegantes Vorgehen.

      Rüdige

      Comment

      Working...
      X