Einzelnen Beitrag anzeigen

angos

Registriert seit: 26. Mai 2004
Ort: Rheine
549 Beiträge
 
Delphi 11 Alexandria
 
#1

FiredDAC Postgres Feldtyp JSON

  Alt 16. Okt 2023, 12:31
Datenbank: PG • Version: 16 • Zugriff über: FireDAC
Hi zusammen,

ich versuche gerade einen Datensatz in eine Postgres-Tabelle einzutragen, welche ein Feld vom Datentyp "json" beinhaltet.

Hat das jemand schon erfolgreich geschafft?

Folgenden Code führe ich aus:

Code:
procedure TForm1.Button1Click(Sender: TObject);
var
  Params: TFDParams;
  Guid: TGUID;
begin
  CreateGUID(Guid);
  try
    Params := TFDParams.Create;
    Params.Add('guid', Guid.ToString);
    Params.Add('type', '123');
    Params.Add('data', '{"value": "123"}');
    Params.Add('inserted', Now);
    Params.Add('processed', False);

    Params.ParamByName('guid').DataType := ftGuid;

    Params.ParamByName('data').DataType := ftString;
//    Params.ParamByName('data').DataType := ftBlob;
//    Params.ParamByName('data').DataType := ftStream;

    FDConnection1.ExecSQL('INSERT INTO events (guid, type, data, inserted, processed)'
      + ' VALUES (:guid, :type, :data, :inserted, :processed)', Params);
  finally
    Params.Free;
  end;
end;
Folgende Fehlermeldung erhalte ich
Zitat:
[FireDAC][Phys][PG][libpq] FEHLER: Spalte »data« hat Typ json, aber der Ausdruck hat Typ character varying. Sie müssen den Ausdruck umschreiben oder eine Typumwandlung vornehmen.
Ansgar
  Mit Zitat antworten Zitat