![]() |
Datenbank: Firebird • Version: 2.5 • Zugriff über: Firedac
TFDQuery.SavetoFile und LoadFromFile kann das auch Tabellen erzeugen?
Also in der
![]() dieses code schnipsel
Delphi-Quellcode:
Ich habe damit auch schon daten gesichert als JSON datei und reimportiert.
FDQuery1.Open('select * from customers');
FDQuery1.FetchAll; FDQuery1.SaveToFile('c:\customers.xml', sfAuto); .... FDMemTable1.LoadFromFile('c:\customers.xml', sfAuto); FDMemTable1.Locate('CUSTOMER_ID', [100], []); Das sieht auch ganz gut aus. Mein Anliegen ist aber ein anderes . Da ja die Metadaten auch gesichert werden, ist meine Frage: Gibt es eine fertige funktion oder klasse oder ein TFDStanStorageJSONLinkFirebirdTablemaker die aus dieser Datei wieder eine Tabelle in einer leeren Datenbank macht? Es geht mir nicht um das Backup sondern um das tranferieren von Daten in ein Neutrales Datenformat auf der Festpaltte und dann wieder zurrück in eine von Firedac unterstützte leere Datenbank. Wir haben hier sowas schon fertig programmiert...aber mit vielen Abhängigkeiten. Ich bin neugierig ob sowas von Firedac oder Delphi schon mitausgeliefert wird. Wenn die TFDBatchMove schon haben warum dann nicht auch einen TableCreator oder so |
AW: TFDQuery.SavetoFile und LoadFromFile kann das auch Tabellen erzeugen?
Zitat:
|
AW: TFDQuery.SavetoFile und LoadFromFile kann das auch Tabellen erzeugen?
Mit zwischenspeichern in einer Datei?
Also beispielsweise Firebird datenbank in Datei exportieren Datei in eine leere MSSQL Datenbank importieren. Und das ohne das ich die Reader und Writer selberschreiben muss? |
AW: TFDQuery.SavetoFile und LoadFromFile kann das auch Tabellen erzeugen?
Ja, klar. Eine TFDBatchMove Komponente verbunden mit einem TFDBatchMoveSQLReader und einem TFBBatchMoveTextWriter sorgt für das Erstellen einer Textdatei im dort eingestellten Format (z.B. rfCommaDoubleQuote). Mit einem TFDBatchMoveTextReader und einem TFDBatchMoveSQLWriter hat man dann den umgekehrten Weg.
Update: Wenn beide Datenbanken im Zugriff sind geht das auch in einem Schritt mit einem TFDBatchMoveSQLReader und TFDBatchMoveSQLWriter. |
AW: TFDQuery.SavetoFile und LoadFromFile kann das auch Tabellen erzeugen?
Heiliger bimbam,
das hört sich ja richtig gut an. Nicht schlecht. ich hab schon gemerkt dass Savetofile Firebird dateien mit ID feldern mit on insert Trigger und Sequence als Autoincfelder erkennt...das war schwer beeindruckend. Ich nehme an das kann TFDBatchMove + TFDBatchMoveSQLReader + TFBBatchMoveTextWriter auch, so dass tatsächlich beim, import nach mssql Autincfelder angelegt würden. Zitat:
Scheiße, Firedac ist echt gut. Sind die Indices und Spracheinstellungen dabei? |
AW: TFDQuery.SavetoFile und LoadFromFile kann das auch Tabellen erzeugen?
Ein BatchMove dient dazu Daten zu transportieren. Das Erstellen der Tabelle aus einer z.B. CSV Datei wird zwar unterstützt solange die Feldnamen mit gespeichert sind, aber bei den Datentypen wird erstmal heuristisch gearbeitet (siehe Analyze). Ein Ersatz für ein sauberes SQL-Skript zum Erzeugen der Tabellen einer Datenbank mit allen dort möglichen Finessen wie Constraints, Indizes, Foreign Keys usw. ist damit aber nicht abgedeckt.
|
AW: TFDQuery.SavetoFile und LoadFromFile kann das auch Tabellen erzeugen?
MSSQL hat schon ein paar Eigenheiten. Das müsste FireDac beim Transfer mit beachten. Also Trigger und SP müssten dann umgeschrieben werden. Schon bei Feldwerten und Indexen kann das ganz schön tricky werden dass das hinterher noch alles ohne Rums läuft.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz