Einzelnen Beitrag anzeigen

UntoterGeist

Registriert seit: 18. Sep 2019
25 Beiträge
 
#1

Paradox spezielle Datentypen laden

  Alt 18. Feb 2021, 00:52
Ich versuche gerade mir einen Paradox zu CSV Exporteur mit Delphi 5 zu schreiben, um sie danach in Postgres zu importieren. Postgres ist übrgiens ziemlich toll bis jetzt. Dabei sollen spezielle Datentypen als Base64 gespeichert werden. Also aus Blob mach Base64. Ja, danach ist der Importeur dran.
Für Blobfelder habe ich das noch hinbekommen. Jetzt knobel ich an z.B. ftBytes. Aus irgendeinem Grund finde ich nichts zu dem Byte Feld. Ich hätte ja gedacht das funktioniert genauso wie mit den Blobfeldern, aber das scheint dann doch nicht so. Ich weiß nicht in welchen Zwischenspeicher ich das schieben muss. Eigentlich will ich das in einem Stream haben. Das geht dann ja noch weiter: Wenn z.B. ftVarBytes, ftTypedBinary oder ftGraphic oder vielleicht noch ftMemo dazukommt. Die anderen Datentypen scheinen jetzt nicht unbedingt wichtig für das eigentliche Projekt zu sein, aber ich möchte gern ein Schleifchen an mein Programm machen. Ich glaub ich steh gerade auf einem Schlauch.

Das Code-Beispiel zeigt, wie ich das mit den Blobfeldern mache:

Code:
BlobField := ParadoxTable.FieldByName(ParadoxTable.Fields[i].FullName) as TBlobField;
Stream := TMemoryStream.Create();
if Assigned(Stream) then
  begin
    BlobField.SaveToStream(Stream);
    Stream.Position := 0;
    StrVar := Base64Encode(Stream)+';';
    FileWrite(ExportFile,PByte(StrVar)^,Length(StrVar));
    FreeAndNil(Stream);
  end
  Mit Zitat antworten Zitat