AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi TFDQuery.SavetoFile und LoadFromFile kann das auch Tabellen erzeugen?
Thema durchsuchen
Ansicht
Themen-Optionen

TFDQuery.SavetoFile und LoadFromFile kann das auch Tabellen erzeugen?

Ein Thema von QuickAndDirty · begonnen am 7. Sep 2023 · letzter Beitrag vom 7. Sep 2023
Antwort Antwort
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.884 Beiträge
 
Delphi 12 Athens
 
#1

TFDQuery.SavetoFile und LoadFromFile kann das auch Tabellen erzeugen?

  Alt 7. Sep 2023, 12:50
Datenbank: Firebird • Version: 2.5 • Zugriff über: Firedac
Also in der Hilfe findet man
dieses code schnipsel
Delphi-Quellcode:
FDQuery1.Open('select * from customers');
FDQuery1.FetchAll;
FDQuery1.SaveToFile('c:\customers.xml', sfAuto);
....
FDMemTable1.LoadFromFile('c:\customers.xml', sfAuto);
FDMemTable1.Locate('CUSTOMER_ID', [100], []);
Ich habe damit auch schon daten gesichert als JSON datei und reimportiert.
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
Andreas
Monads? Wtf are Monads?

Geändert von QuickAndDirty ( 7. Sep 2023 um 13:09 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.024 Beiträge
 
Delphi 12 Athens
 
#2

AW: TFDQuery.SavetoFile und LoadFromFile kann das auch Tabellen erzeugen?

  Alt 7. Sep 2023, 13:46
das tranferieren von Daten in ein Neutrales Datenformat auf der Festpaltte
und dann wieder zurrück in eine von Firedac unterstützte leere Datenbank.
Aber das lässt sich doch mit TFDBatchMove und dem passenden Reader und Writer schon realisieren.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.884 Beiträge
 
Delphi 12 Athens
 
#3

AW: TFDQuery.SavetoFile und LoadFromFile kann das auch Tabellen erzeugen?

  Alt 7. Sep 2023, 13:51
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?
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.024 Beiträge
 
Delphi 12 Athens
 
#4

AW: TFDQuery.SavetoFile und LoadFromFile kann das auch Tabellen erzeugen?

  Alt 7. Sep 2023, 14:31
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.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming

Geändert von Uwe Raabe ( 7. Sep 2023 um 14:34 Uhr)
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.884 Beiträge
 
Delphi 12 Athens
 
#5

AW: TFDQuery.SavetoFile und LoadFromFile kann das auch Tabellen erzeugen?

  Alt 7. Sep 2023, 15:15
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.
Update: Wenn beide Datenbanken im Zugriff sind geht das auch in einem Schritt mit einem TFDBatchMoveSQLReader und TFDBatchMoveSQLWriter.
Ja aber die gehen nicht gut durch teamviewer oder Email.

Scheiße, Firedac ist echt gut.

Sind die Indices und Spracheinstellungen dabei?
Andreas
Monads? Wtf are Monads?

Geändert von QuickAndDirty ( 7. Sep 2023 um 15:19 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.024 Beiträge
 
Delphi 12 Athens
 
#6

AW: TFDQuery.SavetoFile und LoadFromFile kann das auch Tabellen erzeugen?

  Alt 7. Sep 2023, 15:24
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.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
618 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: TFDQuery.SavetoFile und LoadFromFile kann das auch Tabellen erzeugen?

  Alt 7. Sep 2023, 15:58
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.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  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 17:00 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