Announcement

Collapse
No announcement yet.

Datenbankverbindung abfragen

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

  • Datenbankverbindung abfragen

    Hi!

    Um die aktuelle Datenbankverbindung abzufragen, gibt es ja die Möglichkeit folgendes Select-Statement abzusetzen:
    SELECT SYS_CONTEXT('USERENV','DB_NAME') FROM DUAL;

    Gibt es da auch was, was sich besser tippt? Für den aktuellen User gibts ja auch Select user from dual; zusätzlich zur etwas unkomfortableren Abfrage.

    Vielen Dank!


    Freundliche Grüße

    Bernhard

  • #2
    Da es offensichtlich um eine ORACLE-DB geht, hab ich den Thread mal hierher verschoben.

    Zum Thema: Einfachste Variante:
    Code:
    CREATE OR REPLACE 
    FUNCTION USER_DBNAME AS
    Result VARCHAR2(255);
    begin
      SELECT SYS_CONTEXT('USERENV','DB_NAME') INTO Result FROM DUAL;
      return Result;
    end;
    /
    Jetzt brauchst du nur noch SELECT USER_DBNAME FROM DUAL; zu schreiben - aber ob das soviel besser ist

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      Ups, sry

      Vielen Dank für die rasche Antwort. Ist auf jeden Fall komfortabler meiner Ansicht nach. Finds trotzdem komisch, dass es für den aktuellen User schon was gibt und man sich für den Datenbanknamen eine Funktion schreiben muss... Aber thx!


      Freundliche Grüße

      Bernhard

      Comment


      • #4
        Für die besonders Schreibfaulen

        Hallo Bernhard,

        wie wäre es hiermit:

        SQL> CREATE or replace Procedure DBV
        2 is
        3 BEGIN
        4 dbms_output.put_line( sys_context('USERENV', 'DB_NAME') ) ;
        5 END DBV;
        6 /

        Prozedur wurde erstellt.

        SQL> exec dbv
        testdb

        PL/SQL-Prozedur erfolgreich abgeschlossen.


        SQL>



        Gruß, Siegfried

        Comment

        Working...
        X