Discussion:
[Firebird-odbc-devel] Unable to insert into Blob from Alpha 5 v11
Bob Taylor
2013-03-13 20:28:53 UTC
Permalink
Here is my setup:

WI-V6.3.2.26539 Firebird 2.5
Firebird_ODBC_2.0.1.152_Win32
Alpha Five version 11 build 3353


FB Column Definition = BLOB SUB_TYPE 0


I can successfully see blob (JPG images) values that have been inserted into
the database.


However, if I attempt to insert a new image I get this Alpha Five error:

Server side error inserting row.
Internal Error - Invalid data index while putting long data.


Here are some of the details from the ODBC trace:


alpha5 201c-1f40 ENTER SQLPrepare
HSTMT 0x027738B8
UCHAR * 0x1E74B7C0 [ 81] "INSERT INTO EMPLOYEE_PICTURES
(EMP_PIC_ID, EMP_ID, EMP_PICTURE) VALUES (?, ?, ?)"
SDWORD 81

alpha5 201c-1f40 EXIT SQLPrepare with return code 0 (SQL_SUCCESS)
HSTMT 0x027738B8
UCHAR * 0x1E74B7C0 [ 81] "INSERT INTO EMPLOYEE_PICTURES
(EMP_PIC_ID, EMP_ID, EMP_PICTURE) VALUES (?, ?, ?)"
SDWORD 81

alpha5 201c-1f40 ENTER SQLBindParameter
HSTMT 0x027738B8
UWORD 1
SWORD 1 <SQL_PARAM_INPUT>
SWORD 8 <SQL_C_DOUBLE>
SWORD 8 <SQL_DOUBLE>
SQLULEN 8
SWORD 0
PTR 0x1E753A20
SQLLEN 8
SQLLEN * 0x1E753A28

alpha5 201c-1f40 EXIT SQLBindParameter with return code 0
(SQL_SUCCESS)
HSTMT 0x027738B8
UWORD 1
SWORD 1 <SQL_PARAM_INPUT>
SWORD 8 <SQL_C_DOUBLE>
SWORD 8 <SQL_DOUBLE>
SQLULEN 8
SWORD 0
PTR 0x1E753A20
SQLLEN 8
SQLLEN * 0x1E753A28 (8)

alpha5 201c-1f40 ENTER SQLBindParameter
HSTMT 0x027738B8
UWORD 2
SWORD 1 <SQL_PARAM_INPUT>
SWORD 8 <SQL_C_DOUBLE>
SWORD 8 <SQL_DOUBLE>
SQLULEN 8
SWORD 0
PTR 0x1E753A2C
SQLLEN 8
SQLLEN * 0x1E753A34

alpha5 201c-1f40 EXIT SQLBindParameter with return code 0
(SQL_SUCCESS)
HSTMT 0x027738B8
UWORD 2
SWORD 1 <SQL_PARAM_INPUT>
SWORD 8 <SQL_C_DOUBLE>
SWORD 8 <SQL_DOUBLE>
SQLULEN 8
SWORD 0
PTR 0x1E753A2C
SQLLEN 8
SQLLEN * 0x1E753A34 (8)

alpha5 201c-1f40 ENTER SQLBindParameter
HSTMT 0x027738B8
UWORD 3
SWORD 1 <SQL_PARAM_INPUT>
SWORD -2 <SQL_C_BINARY>
SWORD -4 <SQL_LONGVARBINARY>
SQLULEN 23588
SWORD 0
PTR 0x1E753A38
SQLLEN 47178
SQLLEN * 0x1E753A40

alpha5 201c-1f40 EXIT SQLBindParameter with return code 0
(SQL_SUCCESS)
HSTMT 0x027738B8
UWORD 3
SWORD 1 <SQL_PARAM_INPUT>
SWORD -2 <SQL_C_BINARY>
SWORD -4 <SQL_LONGVARBINARY>
SQLULEN 23588
SWORD 0
PTR 0x1E753A38
SQLLEN 47178
SQLLEN * 0x1E753A40 (-100)

alpha5 201c-1f40 ENTER SQLExecute
HSTMT 0x027738B8

alpha5 201c-1f40 EXIT SQLExecute with return code 99
(SQL_NEED_DATA)
HSTMT 0x027738B8

alpha5 201c-1f40 ENTER SQLParamData
HSTMT 0x027738B8
PTR * 0x00CD62DC

alpha5 201c-1f40 EXIT SQLParamData with return code 99
(SQL_NEED_DATA)
HSTMT 0x027738B8
PTR * 0x00CD62DC

alpha5 201c-1f40 ENTER SQLPutData
HSTMT 0x027738B8
PTR 0x1E7D52D0
SQLLEN 23587


Is this a problem with the ODBC driver?

Thanks, Bob

Loading...