UniLoader error "Record not found"

Discussion of open issues, suggestions and bugs regarding UniDAC (Universal Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
ertank
Posts: 172
Joined: Wed 13 Jan 2016 16:00

UniLoader error "Record not found"

Post by ertank » Mon 09 Sep 2019 16:22

Hello,

I am using Delphi 10.3.2, UniDAC 8.0.1, FirebirdSQL 2.5.9, targeting Win32 executable.

When copying data from one database to another using TUniLoader I have error at the end of operation. Despite of error, all data copied to target table.

1-Set TUniQuery.Unidirectional = True
2-Set TUniQuery.SQL so that it include very last record in source table. For example, if source table has 100000 records in it. TUniQuery must have all records(select * from table), or must include last 100 records. If TUniQuery.SQL includes records but not last record in table, error is not re-produced.

My case, that source table does not include any kind of index in it, including primary key index. I did not test problem with a table with primary key index.

3-Load records using some code like "UniLoader1.LoadFromDataSet(UniQuery1);"

You are going to have all records successfully copied from source to detail unfortunately, you are also going to get error UniQuery1: Record not found." at the end of the operation.

I am going to send small test case project with necessary databases using contact form including a download link because database I need to include is big in size even after compressing.

Thanks & regards,
Ertan

ViktorV
Devart Team
Posts: 3168
Joined: Wed 30 Jul 2014 07:16

Re: UniLoader error "Record not found"

Post by ViktorV » Wed 11 Sep 2019 11:18

Thank you for the information. We have already fixed the issue. This fix will be included into the next UniDAC.
As a temporary solution, you can assign a value other than 25 to TUniQuery.FetchRows -- for example, 24.

Post Reply