Anzeige:
Ergebnis 1 bis 10 von 10

Thema: Datenbank - Update (SQLite)?

  1. #1
    Registrierter Benutzer
    Registriert seit
    12.04.2006
    Beiträge
    13

    Question Datenbank - Update (SQLite)?

    Hallo,

    ich habe eine Datenbank (SQLite) jetzt möchte ich ein Update durchführen und habe dazu eine *.sql geschrieben.

    Wie kann ich jetzt mit mit einem Setup (Inno Setup) die *.sql ausführen, damit das DB-Update durchgeführt wird?

    Gruß

    Marco812

  2. #2
    Registrierter Benutzer Avatar von elrond
    Registriert seit
    03.10.2001
    Ort
    potsdam
    Beiträge
    881
    auch wenn ich SQLite nicht kenne...

    ich gehe davon aus, dass du tabelleneinträge innerhalb einer datenbank updaten wills. Ich schreibe mir dazu auch ein file mit den update-anweisungen und führe das dann von der shell aus: "cat update.sql|psql meinedb"

    wenn du einen command-line-client zu SQLite hast, sollte das ähnlich gehen.

    wie gesagt, ist nur ne vermutung, da ich normalerweise in postges arbeite
    "Um die Welt zu ruinieren, genügt es, wenn jeder seine Pflicht tut." (Winston Churchill)

  3. #3
    Registrierter Benutzer
    Registriert seit
    15.10.2005
    Ort
    Franken
    Beiträge
    362
    ich nehme an, dass es auch für SQLite ein Admin-Tool gibt, dort solltest du die .sql ausführen lassen können.
    Dank der Rekursion kann ich IF-Schleifen bauen.

    In neuem Glanz: www.turbohummel.de

  4. #4
    Registrierter Benutzer
    Registriert seit
    12.04.2006
    Beiträge
    13

    Question

    Hallo,

    ja es gibt ein command-line program für SQLite.

    Kann mir jemand sagen wie ich damit eine *.sql in eine bestehende Datenbank einfügen kann?

    Gruß

    Marco812

    P.S.
    Das ganze muss (leider) unter Windows laufen.

  5. #5
    Registrierter Benutzer
    Registriert seit
    10.03.2001
    Ort
    Delmenhorst
    Beiträge
    118
    Hier aus Google:

    http://freshmeat.net/projects/sqliteadmin/

    Und aus der Webseiten-Doku von SQLite (http://www.sqlite.org/sqlite.html):

    sqlite> .help
    .databases List names and files of attached databases
    .dump ?TABLE? ... Dump the database in a text format
    .echo ON|OFF Turn command echo on or off
    .exit Exit this program
    .explain ON|OFF Turn output mode suitable for EXPLAIN on or off.
    .header(s) ON|OFF Turn display of headers on or off
    .help Show this message
    .indices TABLE Show names of all indices on TABLE
    .mode MODE Set mode to one of "line(s)", "column(s)",
    "insert", "list", or "html"
    .mode insert TABLE Generate SQL insert statements for TABLE
    .nullvalue STRING Print STRING instead of nothing for NULL data
    .output FILENAME Send output to FILENAME
    .output stdout Send output to the screen
    .prompt MAIN CONTINUE Replace the standard prompts
    .quit Exit this program
    .read FILENAME Execute SQL in FILENAME
    .schema ?TABLE? Show the CREATE statements
    .separator STRING Change separator string for "list" mode
    .show Show the current values for various settings
    .tables ?PATTERN? List names of tables matching a pattern
    .timeout MS Try opening locked tables for MS milliseconds
    .width NUM NUM ... Set column widths for "column" mode
    sqlite>
    Gruss,
    comrad
    Holarse.de - Spielen unter Linux

  6. #6
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Hi,

    nur der Vollständigkeit halber ein brauchbares Tool für SQLite: http://www.orbmu2k.de/


    Gruß,

    Gaert


  7. #7
    Registrierter Benutzer
    Registriert seit
    21.06.1999
    Beiträge
    677
    Zitat Zitat von Marco812
    Kann mir jemand sagen wie ich damit eine *.sql in eine bestehende Datenbank einfügen kann?
    Zum Verständnis: das Lesen einer Datei geht nicht mit SQL, sondern muss mit einem speziellen Kommando der SQL-Shell ("sqlite" bei SqLite) erfolgen. Bei "sqlite" beginnen diese "Meta-Kommandos" alle mit einem Punkt.

    Mit dieser Info solltest Du in der Lage sein, die Dokumentation zu verstehen: http://www.sqlite.org/sqlite.html

  8. #8
    Registrierter Benutzer
    Registriert seit
    12.04.2006
    Beiträge
    13

    Question

    Hallo,

    danke für die vielen Informationen. Ich kann jetzt das update über die Kommandozeile durchführen. Allerdings wenn ich das ganze jetzt automatisieren möchte, geht es nicht. Ich habe es über eine *.bat versucht.

    sqlite3.exe mydb.dat
    .read update.sql
    .quit

    Das Problem ist wohl, das nicht auf das beenden der einzelnen Befehle gewartet wird.

    Meine Überlegung war jetzt, ein kleines C++ Programm zu schreiben, damit der Benutzer die DB über einen Dialog auswählen kann. Allerdings sind mir so ein paar Sachen noch nicht klar:

    1) Wie kann ich prüfen ob es sich um die richtige DB handelt?
    2) Wie kann ich prüfen ob die einzelnen Befehle abgearbeitet sind?

    Hat jemand evtl. etwas ähnliches Programmiert und könnte mir ein kleines Code-Beispiel geben?

    Gruß

    Marco812

  9. #9
    Registrierter Benutzer
    Registriert seit
    05.06.2003
    Beiträge
    118
    Werfen wir doch mal nicht alles über und auf einen Haufen.

    Die shell von SQLite ist ungeeignet, um diese in einer Batch-Datei zu nutzen, schließlich ist eine Shell ja interaktiv.

    Schau' doch mal bitte, welche Kommandozeilenparameter die ausgeführte .exe-Datei von SQLite hat. Dort wird es sicherlich irgendwie die Möglichkeit geben, eine Verbindung zu einer Datenbank anzugeben und ein Skript, welches dann für die Datenbank abgefahren wird.

    TME

  10. #10
    Registrierter Benutzer
    Registriert seit
    12.04.2006
    Beiträge
    13

    Thumbs up

    Hallo,

    vielen Dank für eure Hilfe, das mit dem Kommandozeilenparameter war eine gute Idee. Letztendlich habe ich aber ein kleines Programm geschrieben das optimal meiner Vorstellung angepasst ist.

    Gruß

    Marco812

Lesezeichen

Berechtigungen

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