UniDAC version is 4.1.5. and provider is Interbase (actually, we are using Firebird database).
Situation is as follows:
1. There is database component, named DB1. Property Options.DisconnectedMode is set to True, all other properties are set to default values.
2. A query Q1 is connected to the database DB1. In its SpecificOptions property Interbase.DeferredBlobRead is set to True. All other values are defaults. SQL is something like:
"SELECT * FROM Partners WHERE PartnerID = 11491".
Partners table has a BLOB field, let's say it's called "Note".
Steps to reproduce this problem (Delphi code):
Code: Select all
DB1.Connect;
Q1.Open;
NoteValue := Q1.FieldByName('Note').AsString; // exception is raised here
Q1.Close;
The problem does NOT arise in following situations:
1. Interbase.DeferredBlobRead is set to False - then everything is OK
2. when WHERE clause is removed from a query so it looks like this: "SELECT ? FROM Partners" - this could indicate that there is some bug in TUniQuery component while fetching a BLOB value. However, this is not acceptable solution.
I'm interested if this is a bug. If it is not, is there any other solution to make this work?
I would like to keep DeferredBlobRead and DisconnectedMode properties set to True.
Thanks in advance,
Bero