Hi, I think it's problem with implicit conversion. Could you please try to fetch this blob with connection character set NONE?
regards Pavel Cisar IBPhoenix Dne 6.4.2013 15:18, Hamish Moffatt napsal(a): > Hi, > > I am using fdb 0.9.9 and Firebird 2.1 and I trying to fetch some data > out of tables containing blobs. However the blobs I get back are always > truncated at the first null. > > > One such table is defined as > > SQL> show table g_mididrum; > DRUM_NUMBER INTEGER Not Null > DRUM_NAME (DOM_MIDI_NAME) VARCHAR(30) Nullable > DRUM_WAVE BLOB segment 80, subtype BINARY > CHARACTER SET NONE Nullable > DRUM_WAVE_6 BLOB segment 80, subtype BINARY > CHARACTER SET NONE Nullable > DRUM_WAVE_12 BLOB segment 80, subtype BINARY > CHARACTER SET NONE Nullable > CONSTRAINT PK_G_MIDIDRUM: > Primary key (DRUM_NUMBER) > > I'm making the query "SELECT * FROM G_MIDIDRUM". The cursor's > description field after the query says > > (('DRUM_NUMBER', <type 'int'>, 11, 4, 0, 0, False), ('DRUM_NAME', <type > 'str'>, 120, 120, 0, 0, True), ('DRUM_WAVE', <type 'str'>, 0, 8, 0, 0, > True), ('DRUM_WAVE_6', <type 'str'>, 0, 8, 0, 0, True), ('DRUM_WAVE_12', > <type 'str'>, 0, 8, 0, 0, True)) > > The data in DRUM_WAVE (for example) is coming back as a string with > len() of only 6 or 7 octets. However if I ask firebird to select the > OCTET_LENGTH(DRUM_WAVE), it tells me the real length which are all 7000 > bytes up to >128k. > > I tried using stream blob mode on this column, I get a BlobReader, and > when I read() all the data from it I still only get 6 or 7 octets. > > The connection charset is "UTF8". > > I got the same effect in kinterbasdb. We access this table from a C++/Qt > app with the same query ok though. Can you point out my mistake?