AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQLite einzelne Tabellen extrahieren, importieren, merge ?

SQLite einzelne Tabellen extrahieren, importieren, merge ?

Ein Thema von Satyr · begonnen am 17. Feb 2012 · letzter Beitrag vom 11. Jul 2012
Antwort Antwort
Seite 1 von 2  1 2   
Satyr

Registriert seit: 8. Feb 2012
Ort: Essen
305 Beiträge
 
Delphi 10.4 Sydney
 
#1

SQLite einzelne Tabellen extrahieren, importieren, merge ?

  Alt 17. Feb 2012, 20:16
Datenbank: SQLite • Version: 3 • Zugriff über: Delphi2007
Guten Abend,

ich habe ein Programm das mit SQLite arbeitet. Das funktioniert bisher ganz gut.
Nun wollte ich aber noch zusätzlich einen kleinen Editor für die Daten basteln. Damit soll jeder User des Programms Daten erstellen und weitergeben können.
Ich möchte dabei aber nicht immer die komplette Datenbank austauschen sondern nur einzelne Tabellen oder auch Daten aus anderen Versionen der selben Tabelle anhängen können.

Geht sowas in SQLite? Ich bin kein Datenbank Experte, kann aber die Grundzüge der SQL Syntax.
Ich habe lange mit Paradox gearbeitet. Da war das einfach, weil jede Tabelle eine eigene Datei war. Jetzt bei SQLite beinhaltet aber ein File die gesamte Datenbank. Deshalb komme ich grade nicht weiter.

Über Hilfe und Denkanstöße, würde ich mich freuen .

Gruß,
Andreas
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#2

AW: SQLite einzelne Tabellen extrahieren, importieren, merge ?

  Alt 17. Feb 2012, 22:49
SQLScripte könntest Du hiermit verarbeiten (also ausführen):
http://www.sqlite.org/sqlite.html

Die Frage ist, wo Du sie her bekommst.

Eine Möglichkeit:
Um Daten auszutauschen, musst Du sie im Quellsystem auslesen und zu einem Insert Befehl umbauen. Im Zielsystem dann das Script laufen lassen (s.o.).Denkbar wären auch Änderungs- und Löschbefehle.
An der Stelle kommt schon die rote Kelle (ist ja schließlich Karneval). Leicht denkbar, wie "gefährlich" solche Befehle sein können. Also Thema Löschen und Ändern erstmal ausblenden.

Andere Möglichkeit:
Wenn Du den Datenaustausch mit Hilfe Deines eigenen Programms etwas lenken willst, empfiehlt sich der Austausch über CSV oder TSV Dateien.
Dein Programm übernimmt dann Export und Import, nach Bedarf. Hierbei ist durch das Verfahren automatisch klar, dass nichts geändert oder gelöscht werden kann. Es gibt nur Datenerweiterungen.

Das mal zum Einstieg.

weitere Möglichkeit zum Datentausch:
XML Dateien
Gruß, Jo
  Mit Zitat antworten Zitat
Satyr

Registriert seit: 8. Feb 2012
Ort: Essen
305 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: SQLite einzelne Tabellen extrahieren, importieren, merge ?

  Alt 17. Feb 2012, 23:22
Ein SQLite File lässt sich nicht einfach in die Tabellenfiles aufsplitten, wie ich es bei Paradox hatte?
Die Tabelle als Textdatei exportieren sehe ich nicht als schwer... aber früher bei Paradox war ich es gewohnt, einfach nur die Tabellendatei zu ersetzen. Das war für mich "praktischer".

Naja, ich tüftel morgen mal rum. Vielen Dank .
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#4

AW: SQLite einzelne Tabellen extrahieren, importieren, merge ?

  Alt 18. Feb 2012, 08:39
Natürlich könnte man bei SQLite Dateien tauschen. Wenn Dir das Prinzip ausreicht..
Meinen Link hast Du vermutlich nicht gelesen.

Nur mal als Idee, auch wenn es nicht so gedacht ist:
Es hindert Dich niemand daran, pro Tausch-Tabelle eine Datei, also eine SQLite DB, anzulegen.

Ein Select mit Join zwischen diesen Tabellen ist dann wohl kaum möglich.
P.S.: Das geht auch.
Gruß, Jo

Geändert von jobo (18. Feb 2012 um 08:58 Uhr)
  Mit Zitat antworten Zitat
Satyr

Registriert seit: 8. Feb 2012
Ort: Essen
305 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: SQLite einzelne Tabellen extrahieren, importieren, merge ?

  Alt 18. Feb 2012, 13:40
hmmm... das wäre ein völlig neuer Ansatz... das Blöde ist ja, das eigentliche Programm mit der SQLite DB ist schon fertig. Jetzt geht es nur darum für die Daten einen Editor zu bauen, der auch import/export kann.
Aber ich habe gestern Deinen Link noch gelesen und bin über ".dump" gestolpert. Damit sollte das gehen, wenn ich es richtig lese.
Nur wie ich beim Import die Daten anhänge, hab ich noch nicht rausbekommen. Aber das ist auch nicht das Wichtigste.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#6

AW: SQLite einzelne Tabellen extrahieren, importieren, merge ?

  Alt 18. Feb 2012, 14:03
Wenn das Dump im MOde SQL durchführst, brauchst Du zum Import nur SQLITE3.Exe das enstandene InsertScript zum Fraß vorzuwerfen.
Gruß, Jo
  Mit Zitat antworten Zitat
Satyr

Registriert seit: 8. Feb 2012
Ort: Essen
305 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: SQLite einzelne Tabellen extrahieren, importieren, merge ?

  Alt 18. Feb 2012, 15:40
Brauche ich das auch schon zum Export? Ich nutze die Aducom Komponenten und dachte ich könnte den Dump einfach per Query absetzen. Aber da bekomme ich nur Fehlermeldungen, das der Querycode fehlerhaft ist. Schon direkt beim .mode csv.
Wenn ich das ausserhalb des Programms in der SQLite shell mache, geht es aber *kopfkratz*.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#8

AW: SQLite einzelne Tabellen extrahieren, importieren, merge ?

  Alt 18. Feb 2012, 18:06
Ich kenne die Komponenten nicht. Die Dump Funktion haben sie aber wahrscheinlich nicht implementiert.
Gruß, Jo
  Mit Zitat antworten Zitat
Satyr

Registriert seit: 8. Feb 2012
Ort: Essen
305 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: SQLite einzelne Tabellen extrahieren, importieren, merge ?

  Alt 18. Feb 2012, 18:25
Ok, dann mache ich das per ShellExecute und sqlite3.exe. Finde ich zwar umständlich aber geht wohl nicht anders.
Vielen Dank für Deine Hinweise und Hilfe .
  Mit Zitat antworten Zitat
Lion

Registriert seit: 5. Mär 2012
19 Beiträge
 
#10

AW: SQLite einzelne Tabellen extrahieren, importieren, merge ?

  Alt 10. Jul 2012, 22:08
Ein Select mit Join zwischen diesen Tabellen ist dann wohl kaum möglich.
P.S.: Das geht auch.
Was jetzt, geht das oder nicht?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz