AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TinyDB und SQL?

Ein Thema von CG2003 · begonnen am 25. Okt 2005 · letzter Beitrag vom 27. Okt 2005
Antwort Antwort
CG2003

Registriert seit: 8. Nov 2003
Ort: Hamburg
470 Beiträge
 
Delphi 2009 Professional
 
#1

TinyDB und SQL?

  Alt 25. Okt 2005, 17:09
Datenbank: TinyDB • Zugriff über: lokal
Hallo,

ich habe mit TinyDB eine Datenbank, in der Buchungen verzeichnet sind. Ungefähr so:

Nr. Datum Bestand
10155643 14.10.2005 -1
10155644 14.10.2005 -1
10155643 16.10.2005 -1
10155645 17.10.2005 -1

So, nun wollte ich eigentlich per SQL Befehl alle Buchungen zwischen zwei Datumsangaben
(beispielsweise zw. 14. und 17.10) auflisten und zusätzlich die doppelten oder dreifachen
Nummern/Buchungen zusammenzählen, so das im obigen Beispiel folgendes rauskommt:

Nr. Bestand
10155643 -2
10155644 -1
10155645 -1

Aber ich kriege das nicht hin. Ich weiß, der SQL Text muss irgendwie mit WHERE und beim Datum was mit BETWEEN. Aber mir scheint, das dieses TinyDB kein SQL unterstützt.
Wie geht das?
Falls das mit TinyDB nicht möglich ist, würde ich das auch anders machen, nur muss ich dann die
Tabellen dringend konvertieren können (beispielsweise MySQL oder so), da dort schon wichtige Daten
drin stehen.



Ich hoffe Ihr könnt mir helfen...
Sebastian M.
  Mit Zitat antworten Zitat
CG2003

Registriert seit: 8. Nov 2003
Ort: Hamburg
470 Beiträge
 
Delphi 2009 Professional
 
#2

Re: TinyDB und SQL?

  Alt 26. Okt 2005, 11:06
Hmm, anscheinend scheint TinyDB kein SQL zu unterstützen.
Zumindest habe ich auf der Homepage des Herstellers nichts gefunden.
Kann ich denn die Tabellen die ich jetzt habe irgendwie nach MySQL konvertieren/kopieren?
Sebastian M.
  Mit Zitat antworten Zitat
Pfoto

Registriert seit: 26. Aug 2005
Ort: Daun
541 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: TinyDB und SQL?

  Alt 26. Okt 2005, 17:25
Ja, TinyDB unterstützt wirklich kein SQL, ich hatte es auch mal in Verwendung. (und die TinyDB ist wirklich sehr langsam, seit dem ich andere Datenbanken im Vergleich kenne)

Da TinyDB ein eigenes Format bei seinen Tabellen hat (und diese alle in eine Datei schreibt), wird wahrscheinlich kein fertiges Konvertierungsprogramm zu finden sein.

Bastel dir doch einfach selbst ein Programm, in das du sowohl die TinyDB-Komponenten, als auch die Komponenten deiner neuen Datenbank aufrufst und kopiere dann Zeile für Zeile rüber.

Falls Du eine neue, SQL-fähige Datenbank suchst, die ebenfalls alle Tabellen gemeinsam in eine Datei schreiben kann, empfehle ich
Absolute Database oder
Accuracer

Sonst gibt es auch noch die "großen" Datenbanken, die du aber auch "embedded" zum Laufen bringen kannst, wie: ADS, NexusDB, Firebird, etc.



Gruß
Pfoto
Jürgen Höfs
  Mit Zitat antworten Zitat
CG2003

Registriert seit: 8. Nov 2003
Ort: Hamburg
470 Beiträge
 
Delphi 2009 Professional
 
#4

Re: TinyDB und SQL?

  Alt 26. Okt 2005, 20:35
Danke, dann habe ich ja bezüglich SQL-Aufrufe mit TinyDB Gewißheit!

Hmm, wie kann ich mir das Vorstellen, "mir selbst ein Konvertierungsprogramm zu basteln"?

Klar, beide Komponenten. Aber dann???


Ich werde wahrscheinlich den MS SQL Server nehmen, da wir den in der Firma auch Laufen haben.
Sebastian M.
  Mit Zitat antworten Zitat
Pfoto

Registriert seit: 26. Aug 2005
Ort: Daun
541 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: TinyDB und SQL?

  Alt 27. Okt 2005, 07:04
Letztendlich würdest du bei meiner genannten Variante Zeile für Zeile deiner TinyDB-Tabellen aufrufen und den Inhalt der neuen Tabelle (also in der anderen DB) übertragen, also etwa so:
Delphi-Quellcode:
while not QuellTabelle.EOF do
begin
  with ZielTabelle do
  begin
    Append; // neue Zeile
    // Beispiel
    FieldByName('Spaltenname').AsInteger:= QuellTabelle.FieldByName('Spaltenname').AsInteger;
    ... // hier weitere Zeilen übertragen

    Post; // speichern
  end;
  Next; // Zum nächsten Datensatz der QuellTabelle springen
end;
Vorher natürlich die gleiche Strukur in den Ziel-Tabellen herstellen.

Sicherlich könntest du auch jede Tabelle als CSV-Datei abspeichern und dann in die Zieldatenbank einlesen. Ich weiß jetzt aber nicht, ob TinyDB den Export als CSV schon integriert hat oder ob du dies auch selbst programmieren müsstest. Das Einlesen geschähe dann auch per CSV.
Das wären meine Vorschläge. Vielleicht wissen die echten Profis noch was Besseres...

Auf jeden Fall lohnt sich die Arbeit, das SQL die Filterungen einfach viel komfortabler macht.


Gruß
Pfoto
Jürgen Höfs
  Mit Zitat antworten Zitat
CG2003

Registriert seit: 8. Nov 2003
Ort: Hamburg
470 Beiträge
 
Delphi 2009 Professional
 
#6

Re: TinyDB und SQL?

  Alt 27. Okt 2005, 23:58
Viieeeeleeen Daaaank!

Ich bin mehr als begeistert von den kompetenten Menschen hier in diesem wundervollen Forum
("schleim")

Aber mal im Ernst, ich habe mir jetzt ein "Migrations-Tool" geschrieben,
welches es (nach ca. 4 Stunden Programmier-Arbeit ) schafft, meine
TinyDB-Tabellen zu öffnen, konvertieren und an den MS SQL Server 2000
zu übertragen.

Nun muss ich nur noch mein bestehendes Programm, zu dem die Tabellen
gehören, umschreiben. Aber das nehme ich zum Anlass, eine
"zweite Version" rauszubringen...

Vielen, vielen, vielen Dank nochmal an alle!!!!
Sebastian M.
  Mit Zitat antworten Zitat
Antwort Antwort


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 18:55 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