Einzelnen Beitrag anzeigen

bnreimer42

Registriert seit: 26. Mai 2013
Ort: Erlangen, Franken
124 Beiträge
 
Delphi 12 Athens
 
#1

Mit FireDac auf bytea Attribut unter PostgreSQL schreiben

  Alt 27. Apr 2021, 18:39
Datenbank: PostgreSQL • Version: 12 • Zugriff über: FireDac
Hallo,

ich scheitere gerade beim Versuch, auf ein bytea-Attrbut per FDQuery schreibend zuzugreifen und erhalte als Meldung:

[FireDAC][Phys][PG]-352. Objektwert für Parameter [DOCBIN] mit dem Typ [ftBlob] wird nicht unterstützt

Im Prinzip habe ich das Beispiel von http://docwiki.embarcadero.com/RADSt...ing_in_FireDAC mit angepasster Datenstruktur probiert.

Meine Tabelle:

Code:
CREATE TABLE stamm.dokument (
   "Id" serial NOT NULL,
[...]
   docbin bytea NULL, -- Dokument als Binär-Datei
[...]
   CONSTRAINT "PK_dbversion" PRIMARY KEY ("Id"),
[...]
);

Mein Delphi Beispiel:

Delphi-Quellcode:
 QWrite.SQL.Text := 'INSERT INTO stamm.dokument ' +
  '("Id", docbin) VALUES(1, :DOCBIN);';
  
  QWrite.Params[0].DataType := ftBlob;
  QWrite.Params[0].AsStream := TFileStream.Create('z:\O\test\test.pdf', fmOpenRead);

  try
    QWrite.ExecSQL;
  except
    on E:Exception DO
      DMLog.LogError('BlobTest',E);
  end;
Die Exception gibt mir den oben genannten Fehler.

Postgres-Server ist Version 12....
Delphi ist aktuellstes 10.4. Update 2

Mit Veränderung der FireDac-Parameter
OidAsBlob=yes
und
UnknownFormat=BYTEA
habe keinen Erfolg.




Hat jemand eine Idee?
Björn Reimer

Geändert von bnreimer42 (27. Apr 2021 um 21:50 Uhr)
  Mit Zitat antworten Zitat