Error using UniDac and Postgresql

Discussion of open issues, suggestions and bugs regarding UniDAC (Universal Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
Ole Ekerhovd
Posts: 8
Joined: Sat 07 Feb 2009 07:43

Error using UniDac and Postgresql

Post by Ole Ekerhovd » Thu 08 Apr 2021 09:00

There are still errors using version 8.4.2 and 8.4.3 The error occurres when posting Blobs. Here is my code, it works fine in version 8.3.2.

Error is Access violation.

procedure TfrmSkanneDocument.SaveDocument(dokumenttype : string; Nummeret : integer);
var

ms : TMemorystream;
i : integer;
begin

ms:=TMemorystream.create;

tiffviserd.MIO.SaveTostreamtiff(ms,false);

try

screen.cursor:=crsqlwait;

dataene.Lagre.SQL.Clear;
dataene.lagre.sql.add('INSERT INTO dokumenter');
dataene.lagre.sql.add('(Nummer,Dokumenttype,Navn,Tilhorer,Dato,Bilde,Privat,Askpassord,Bildenummer,Skalikkeslettes)');
dataene.lagre.sql.add('VALUES(:pNummer,:pDokumenttype,:pNavn,:pTilhorer,:pDato,:pBilde,:pPrivat,:pAskpassord,:pBildenummer,:pSkalikkeslettes)');
dataene.lagre.ParamByName('pNummer').asinteger:=nummeret;
dataene.lagre.ParamByName('pDokumenttype').asstring:=dokumenttype;
dataene.lagre.ParamByName('pNavn').asstring:=txtbeskrivelse.Text;
dataene.lagre.ParamByName('pTilhorer').asstring:=bruker.Pologget;
dataene.lagre.ParamByName('pDato').asdatetime:=txtdato.date;
dataene.lagre.ParamByName('pBilde').setblobdata(ms.Memory,ms.size);
dataene.lagre.ParamByName('pPrivat').asboolean:=chkprivat.Checked;
dataene.lagre.ParamByName('pAskpassord').asboolean:=chkaskpassord.Checked;
dataene.lagre.ParamByName('pSkalikkeslettes').asboolean:=chkskalikkeslettes.Checked;
dataene.lagre.ParamByName('pBildenummer').asinteger:=tiffviserd.ImageCount-1;

dataene.lagre.Execute;

finally
ms.Free;
screen.Cursor:=crdefault;
end;

end;

Regards,
Ole

oleg0k
Devart Team
Posts: 190
Joined: Wed 11 Mar 2020 08:28

Re: Error using UniDac and Postgresql

Post by oleg0k » Tue 13 Apr 2021 09:14

Hello,
Unfortunately, we couldn't reproduce the issue.
Please send us an example that uses UniDAC and demonstrates the incorrect behavior, along with DDL scripts for creating and populating the database objects. Please send them through the form on our website: https://devart.com/company/contactform.html

wbr, Oleg
Devart Team

vampirekb
Posts: 9
Joined: Mon 20 Oct 2014 19:30

Re: Error using UniDac and Postgresql

Post by vampirekb » Mon 03 May 2021 04:53

dataene.lagre.ParamByName('pBilde').setblobdata(ms.Memory,ms.size);

try to make
LoadFrom Stream(ms,ftBLOB);

I use it at 8.3.2 but stil lscary to install 8.4 , so i'll wait for your responce ))

Frank2021
Posts: 4
Joined: Mon 03 May 2021 10:37

Re: Error using UniDac and Postgresql

Post by Frank2021 » Mon 03 May 2021 10:44

I can confirm that the problem exists.
My collegs test this with 8.4.3.
Now we still use 8.3.2.

Best regards
Frank

MaximG
Devart Team
Posts: 1822
Joined: Mon 06 Jul 2015 11:34

Re: Error using UniDac and Postgresql

Post by MaximG » Thu 13 May 2021 12:18

We haven't yet received any files from you. Could you please resend the sample project?

Post Reply