It was brought to our attention that some
MySQL server versions, ex. 4.1.14, responds with a result containing blob columns from certain types of SQL statements, ex. "show create table abc", yet, the columns are not marked with the blob_flag by MySQL, and therefore are these columns not presented as blobs in
Delphi when using
MyComponents.
You can correct this in your code by update your source like this:
Code:
MySQLDataset.pas, method InternalOpenResultBlock, line ~1550
...
if (do2KStrToMemo in FOptions) and (FieldType in [FIELD_TYPE_STRING,FIELD_TYPE_VAR_STRING,FIELD_TYPE_VARCHAR]) and (FieldLength > 2048) then begin
FieldType := FIELD_TYPE_BLOB;
FieldFlags := FieldFlags or BLOB_FLAG;
end;
// Add
if (FieldType in [FIELD_TYPE_BLOB,FIELD_TYPE_TINY_BLOB,FIELD_TYPE_MEDIUM_BLOB,FIELD_TYPE_LONG_BLOB]) and (FieldFlags and BLOB_FLAG=0) then
FieldFlags := FieldFlags or BLOB_FLAG;
// End Add
if (doFieldsAsString in FOptions) and not(FieldType in [FIELD_TYPE_BLOB,FIELD_TYPE_TINY_BLOB,FIELD_TYPE_MEDIUM_BLOB,FIELD_TYPE_LONG_BLOB]) then begin
FieldLength := 255;
FieldType := FIELD_TYPE_VAR_STRING;
end;
...
Or you can download the updated SciBit
libmysql.dll and use it instead with your application, as it will automatically correct this issue.
This update will form part of the next release of MyComponents.