Чтение из файла в Blob посредством API
Добавлено: 02 май 2006, 14:32
Пытаюсь прочитать данные из файла в blob -
Ошибки нет, данные из файла читаются, а в блобе - пусто. Подскажите, пожалуйста, что не так?
Код: Выделить всё
if (isc_dsql_allocate_statement(status, &DB, &blb_stmt))
{
ERREXIT(status, 1)
}
char blb_select[1000] = "update table set blobfield = ? where id = 1";
blb_sqlda = (XSQLDA *) malloc(XSQLDA_LENGTH (1));
blb_sqlda->sqln = 1;
blb_sqlda->sqld = 1;
blb_sqlda->version = 1;
blb_sqlda->sqlvar[0].sqldata = (char *) &blob_id;
blb_sqlda->sqlvar[0].sqltype = SQL_BLOB;
blb_sqlda->sqlvar[0].sqllen = sizeof(ISC_QUAD);
isc_create_blob2(status,
&DB,
&trans,
&blob_handle,
&blob_id,
0,
NULL
);
left_count = lposition - fposition;
while (left_count > 0)
{
if (left_count < 16384)
{
read_count = left_count;
left_count = 0;
}
else
{
read_count = 16384;
left_count = left_count - 16384;
}
fread(blob_segment, sizeof(char), read_count, bstream);
isc_put_segment(status,
&blob_handle,
read_count,
blob_segment
);
if (status[0] == 1 &&status[1])
{
ERREXIT(status, 1);
}
};
if (isc_dsql_execute_immediate(status, &DB, &trans, 0, blb_select, 1, blb_sqlda))
{
ERREXIT(status, 1)
}
isc_close_blob(status,&blob_handle);