UniDAC 4.1.5 Oracle's BLOB fields can not be updated

Discussion of open issues, suggestions and bugs regarding ODAC (Oracle Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
383530895
Posts: 2
Joined: Sun 15 Apr 2012 14:39

UniDAC 4.1.5 Oracle's BLOB fields can not be updated

Post by 383530895 » Mon 16 Apr 2012 01:05

UniConnection:
Direct := False;

Client + Server(UniDAC, Midas, UpWhereKey, Resovletodataset is false) + Oracle 11g

Problem:
Submitted data set contains multiple update field,Non-BLOB fields are updated, the BLOB field has not been updated,

Orace trance can be tracked to update BLOB field of the assignment statement, but written to the BLOB field is null/'',

If do not the Midas submit data, update and insert BLOB field is normal

I did wrong??? tks

clientdataset submitted delta is normal,

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Post by AlexP » Tue 17 Apr 2012 14:18

hello,

For correct insertion of BLOB data, you should set the TemporaryLobUpdate option to False

UniQuery1.SpecificOptions.Values['TemporaryLobUpdate']:= 'false';

Since you have set the ResolveToDataSet property to False, a query for data insert is formed in ClientDataset and uses EMPTY_BLOB() for BLOB data insert, and when the TemporaryLobUpdate option is enabled - the EMPTY_BLOB is created once more, and an "empty" BLOB is transferred to a server.

383530895
Posts: 2
Joined: Sun 15 Apr 2012 14:39

Post by 383530895 » Wed 18 Apr 2012 11:31

Thank you very much, the problem has been solved, that is for this reason

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Post by AlexP » Wed 18 Apr 2012 11:41

Hello,

Glad to see that the problem was solved. If you have any other questions, feel free to contact us.

Post Reply