Announcement

Collapse
No announcement yet.

Sql per Batch Datei ausführen

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

  • Sql per Batch Datei ausführen

    Hi ich hab mal wieder eine Frage..

    Ich habe eine batch Datei mit Folgendem Inhalt erstellt:

    Code:
    sqlcmd -S DATENBANKNAME -U BENUTZERNAME -P PASSWORT -i "dump.sql"
    Was ich möchte ist das Ergebnis eines SQLs in eine CSV Datei..

    Inhalt dump.sql
    Code:
    select datum, benutzer, menge 
       INTO OUTFILE 'test.csv'
       from tabelle
    where NR ='123' 
    Order by Datum desc
    Ich bin schon seit ner Weile am googlen aber hm.. nichts brauchbares gefunden ich hoff ihr schlagt euch nicht die Hände über dem Kopf zusammen..

    Vielen Dank schon mal für eure Tipps..

  • #2
    SQLCMD ist IMO doch SQL-Server nicht ORACLE ?!

    Zur Ausgabe unter ORACLE (WINDOWS) kann man SPOOL verwenden:
    Code:
    spool c:\temp\test.csv
    
    select datum, benutzer, menge 
       from tabelle
    where NR ='123' 
    Order by Datum desc;

    Comment


    • #3
      Ahhhhhh ok.. und wenn ich das unter Suse Linux machen würde funktioniert da Spool auch?

      Und wie übergeb ich die datenbank da?

      Danke schonmal glaub mit Oracle werd ich nie warm.. bzw mal schaun..

      Comment


      • #4
        Hi,


        unter windows
        sqlplus username/userpw@sid @.\ dump.sql

        Gruß

        Martin

        Comment


        • #5
          @sid @. <- was macht das? bzw was ist das?

          Comment


          • #6
            1 @ DB-NAme
            2@ ruft das Script auf

            Comment


            • #7
              Unter linux brauchst Du das @ für die Instance nicht unbedingt. Falls Du es verwendest arbeitest Du über TNSNAME, das muss dann auch eingerichtet sein.
              Wenn Du auf dem Server bist, reicht es, die ORACLE_SID als Umgebungsvariable richtig zu setzen. Dann landest Du per Default auf der DB $ORACLE_SID.
              Gruß, defo

              Comment


              • #8
                Hi nochmal..
                Danke für die vielen Antworten.. was Datenbank Conections per Batchdatei angeht hab ich leider absolut keine Ahnung und ich versuch mich da gerade einzufinden.. die ganzen Brocken irritieren mich nu aber..

                Also ich "brauche" das Script einmal unter Windows und Oracle und einmal unter Suse Linux und MySQL (damit bin ich hier vermutlich falsch?)

                Ist das nun egal ob ich "Spool" oder "sqlplus" nehme?

                Woher weis Spool auf welche DB ich will und mit welchem Zugang wenn ich nur die Datei angeb?

                Sry für die vielen, für euch vielleicht merkwürdigen Fragen aber ich hab das noch nicht hinbekommen und ich möchte es gern verstehen..

                Comment


                • #9
                  Originally posted by ZeroIce View Post
                  Ist das nun egal ob ich "Spool" oder "sqlplus" nehme?

                  Woher weis Spool auf welche DB ich will und mit welchem Zugang wenn ich nur die Datei angeb?
                  Spool ist ein Command innerhalp von SQLPlus. Er setzt die Ausgabe der Ergebnisse in ein anzugebendes Spoolfile.
                  Spool weiß nichts von Deiner DB connection. Aber SQLPlus sollte es wissen.

                  Diese Angaben gelten für Oracle, egal ob Windows oder Linux. Interessant ist höchstens noch die Frage, ob das Script auf einem Client oder auf dem Server läuft, das ergibt die- erwähnt- unterschiedlichen Verbindungsoptionen @ORACLE_SID oder eben ohne diese Angabe auf dem Server.
                  Der Server hat eine Default Connection bei einer DB Installation und geht automatisch auf diese DB.
                  Mit der Angabe von @ORACLE_SID bist Du auf der sicheren Seite.
                  Gruß, defo

                  Comment


                  • #10
                    Theoretisch soll das Script als Job auf dem Linuxserver laufen in Verbindung mit MySql (hab ich aber erst nach meinem ersten Post rausgefunden das das MySql is dadrauf)

                    Die Sache mit Windows und Oracle dient meinem persönlichen Interesse

                    Wie krieg ich denn die Oracle_SID raus?

                    Comment


                    • #11
                      zb in der tnsnames.ora

                      Comment


                      • #12
                        Ok gut.. vielen Dank.. die weis ich zumindest wo se is

                        Dann muss ich mal nur noch Linux und MySQL rausfinden da stöber ich mich grad durch google..

                        Mal sehn ob das dann klappt..

                        Comment

                        Working...
                        X