Hallo zusammen,
es gibt hier ja jede Menge Beiträge, die gute Datenbanken beschreiben.
Ich habe hier und sonst im Netz viel gelesen und für eine Projektumstellung mich auf eine Firebird Datenbank eingeschossen.
Ist noch nicht 100%ig sicher, aber die Vorteile (SQL Syntax, Embedded und als Server möglich, Transaktionsfähig, ...) liegen auf der Hand.
Bisher setze ich bei dem Projekt eine TDBF Komponente für den Zugriff auf eine DBase(4) Datenbank ein.
Da TDBF in letzter Zeit (imho) nicht mehr weiterentwickelt (und supported) wurde und meine Datenbanken bei den Kunden immer größer werden und öfters Indexprobleme haben, kann ich mir eine Umstellung auf Firebird vorstellen.
Beim Update würde die neue Datenbank angelegt und die Daten automatisch kopiert. Soweit - sogut.
Die Schwierigkeit besteht darin, dass ich bisher so auf meine DB zugreife:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| // Datenbank öffnen TDbf1->TableName = "abc.dbf"; TDbf1->IndexName = "inx1"; TDbf1->Open();
// Auslesen TDbf1->SetRange(1, 1000); if (TDbf1->FindFirst()) { do { // Auslesen idtmp = TDbf1->FieldByName("id")->AsInteger; } while (TDbf1->FindNext()); }
// Datenbank schliessen TDbf1->Close(); |
Die Datenbank wird also außer de TDBF Komponente nicht durch weitere Komponenten angesprochen.
So oder so ähnlich sieht es hunderte Mal in meinem Code aus.
Der Code ist ein Relikt aus Zeiten vor 2000 - heute würde ich es nicht mehr so machen, aber es ist nun mal so.
Welche Komponenten würdet ihr benutzen, um am Code so wenig wie möglich ändern zu müssen?
Es gibt viele Komponeten wie IBObject aber bei denen kann ich so direkt doch nicht auf die DB zugreifen, oder?
Viele Grüße
jf_stgt