#25118 [Ver]: ODBC: can't store data in blob fields

From: Date: Tue, 09 Mar 2004 17:08:04 +0000
Subject: #25118 [Ver]: ODBC: can't store data in blob fields
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-56178@lists.php.net to get a copy of this message
 ID:               25118
 Updated by:       kalowsky@php.net
 Reported By:      php at jschreiber dot com
 Status:           Verified
 Bug Type:         Feature/Change Request
 Operating System: GNU/Linux (Gentoo)
 PHP Version:      4.3.4
 New Comment:

Unfortunately the type SQL_BLOB only exists on DB2 and 
as such makes this patch pretty useless for the rest of 
the ODBC users.


Previous Comments:
------------------------------------------------------------------------

[2004-03-06 14:00:26] php at jschreiber dot com

I think I've finally fixed this bug. Here is my patch:

http://www.jschreiber.com/php/blobtest/patch.txt

The patch worked with PHP 4.3.x and IBM DB/2 8.1 Fixpack 3 and 4. It
has been tested using Linux and Solaris.

Apply this patch with

cd /path/to/source/php-4.3.4/ext/odbc
patch -p1 < /path/to/patch/patch.txt

Hope this helps somebody!
Regards, Jan

------------------------------------------------------------------------

[2004-02-25 12:55:29] jerome dot dury at cegedim dot fr

Hello,
I don't think this is really not useful, because we're trying to build
a php script to insert blobs in a DB2 database. Our solution was pretty
robust : it was to re-use some php objects and their relative methods
that we implement in our php web site, in our back-office
procedures...
Because of this bug we are forced to rewrite our procedures with
perl-dbi or visual basic, which provides blobs insertions.
Are you planning to fix this bug ? Or do you leave it like this ?

Thanks

Jérome

------------------------------------------------------------------------

[2003-10-22 19:46:59] kalowsky@php.net

Marking this as a verified bug, in the sense that I know it exists. 
BLOB support in the ODBC system as it stands is relativly, umm, not
useful.  I haven't a good solution to this right now though.  

------------------------------------------------------------------------

[2003-09-08 19:09:47] php at jschreiber dot com

I looked at my last trace one more time and saw that 
 
SQLBindParameter( hStmt=1:1, iPar=1, 
fParamType=SQL_PARAM_INPUT, fCType=SQL_C_CHAR, 
fSQLType=SQL_BLOB, cbColDef=1048576, ibScale=0, 
rgbValue=&0000000a, cbValueM 
ax=0, pcbValue=&0820563c ) 
    ---> Time elapsed - +6.810000E-004 seconds 
 
is being called with fCType=SQL_C_CHAR instead of 
SQL_BINARY. So I applied a part of Clara Lius patch to the 
code and changed the line containg SQL_LEN_DATA_AT_EXEC as 
described in my last comment. Now my "blobtest" script 
runs fine!! 
 
But the problem seems not to be totally solved - the 
odbc-test that comes with php seems to "hang" on some 
statements--sometimes it works, sometimes not...  
 
Anyway, I think that was a step in the right direction, so 
here is my patch: 
http://www.jschreiber.com/php/blobtest/blob-patch.txt

 
Jan

------------------------------------------------------------------------

[2003-08-28 05:02:05] php at jschreiber dot com

Sorry, guys...! It still doesn't work. I tried it with my "blobtest" 
(http://www.jschreiber.com/php/blobtest/). the insert statement 
gets executed, but the blob only contains an empty value (x''). 
I uploaded a new db2 trace to 
http://www.jschreiber.com/php/blobtest/db2trace_new.txt

 
I hope that helps you!! Again, thank you for trying to fix that. Jan

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/25118

-- 
Edit this bug report at http://bugs.php.net/?id=25118&edit=1


Thread (19 messages)

« previous php.bugs (#56178) next »