Paul: Windows Batch -- SQL Prompt

Hallo liebe Forum-User,

ich besitzte ein Oracle 10g XE Datenbank. Ich würde gerne eine Batsch-Datei laufen lassen, die SQLPLUS startet und anschließend einige Befehle ausführt.

Wenn ich nun meine Batch-Datei starte, bleibt im DOS-Fenster nur der SQL-Prompt stehen und er macht keine Verarbeitung des Batches mehr.

Wisst ihr wie man trotzdem SQL-Befehle eingeben kann via Batch-Script.

Vielen Dank im Voraus.

  1. Hallo Paul,

    Wenn ich nun meine Batch-Datei starte, bleibt im DOS-Fenster nur der SQL-Prompt stehen und er macht keine Verarbeitung des Batches mehr.

    das letzte DOS-Fenster hab' ich vor vielen Jahren unter Windows 98 gesehen, der Kommandointerpreter unter Windows-NT-artigen Betriebssystemen führt standardmäßig reinrassige 32-Bit-Windows-Befehle aus. Ich vermute, dass SQLPLUS ebenfalls ein 32-Bit-Programm und unter DOS überhaupt nicht lauffähig ist.

    SQL-Engines füttert man an der Kommandozeile oft mit SQL-Dateien, vielleicht ist das bei Oracle (was ich im Moment grade nicht installiert hab') auch so.

    Helfen Dir CALL oder START weiter?

    Freundliche Grüße

    Vinzenz

    1. Hallo Vinzenz,

      vielen Dank für deinen Tipp:

      SQL-Engines füttert man an der Kommandozeile oft mit SQL-Dateien,

      Ich brauche aber eine Eingabe während meines SQL-Skripts. Weißt du oder jemdand wie man dies hinbekommt?

      Batch:

      @echo OFF
      echo Testbatch

      sqlplus /nolog
      connect user/123@db
      set serverout on size 100000

      set /p benutzername=Benutzername:
      set passwort=%benutzername:~0,3%567
      exec dlt_user.set_password( '%benutzername%', '%passwort%' )
      PAUSE
      @echo ON
      connect %benutzername%/%passwort%@db
      PAUSE

      Wie kann ich dies in ein SQl-Script packen ?

      1. Moin!

        Deine SQL-Shell kann also Eingaben entgegennehmen und diese abarbeiten.

        Dann nimm das Standardrezept, welches für alle diese Formen geht:

        entweder:

        C:> echo "Befehlssequenz" | DeineAndereShell --optionen -o sonstwas

        oder schreibe die Befehlssequenz in eine Datei (hier: "skript.txt"):

        C:> DeineAndereShell --optionen --parameter sonstwas < skript.txt

        Sollen die Ausgaben gespeichert werden:

        C:> DeineAndereShell --optionen  --parameter sonstwas < skript.txt > ausgaben_log.txt

        MFFG (Mit freundlich- friedfertigem Grinsen)

        fastix®

        --
        Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development