Willkommen bei Entwickler-Forum.
Seite 1 von 2 1 2 LetzteLetzte
Ergebnis 1 bis 10 von 12
  1. #1
    Zaungast
    Registriert seit
    31.08.2012
    Beiträge
    24

    Standard 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. #2
    Stammgast
    Registriert seit
    26.05.2008
    Beiträge
    403

    Standard

    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;

  3. #3
    Zaungast
    Registriert seit
    31.08.2012
    Beiträge
    24

    Standard

    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..

  4. #4
    Stammgast
    Registriert seit
    02.12.2008
    Beiträge
    267

    Standard

    Hi,


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

    Gruß

    Martin

  5. #5
    Zaungast
    Registriert seit
    31.08.2012
    Beiträge
    24

    Standard

    @sid @. <- was macht das? bzw was ist das?

  6. #6
    Stammgast
    Registriert seit
    02.12.2008
    Beiträge
    267

    Standard

    1 @ DB-NAme
    2@ ruft das Script auf

  7. #7
    Stammgast
    Registriert seit
    24.10.2011
    Beiträge
    476

    Standard

    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

  8. #8
    Zaungast
    Registriert seit
    31.08.2012
    Beiträge
    24

    Standard

    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..

  9. #9
    Stammgast
    Registriert seit
    24.10.2011
    Beiträge
    476

    Standard

    Zitat Zitat von ZeroIce Beitrag anzeigen
    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

  10. #10
    Zaungast
    Registriert seit
    31.08.2012
    Beiträge
    24

    Standard

    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?

 

 
Seite 1 von 2 1 2 LetzteLetzte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •