Само набързо… в последната версия (1.2.1) на OCI8 разширението за PHP има бъг при четенето на LOB полета. Пускам patch, който все още се намира само в CVS версията на пакета:
diff -u -r ext/oci8.old/oci8-1.2.1/oci8_lob.c ext/oci8/oci8-1.2.1/oci8_lob.c --- ext/oci8.old/oci8-1.2.1/oci8_lob.c 2006-05-02 09:33:15.000000000 +0300 +++ ext/oci8/oci8-1.2.1/oci8_lob.c 2006-07-10 14:20:46.000000000 +0300 @@ -150,11 +150,16 @@ { php_oci_connection *connection = descriptor->connection; ub4 length = 0; +#if defined(HAVE_OCI_LOB_READ2) + oraub8 bytes_read, bytes_total = 0, offset = 0; + oraub8 requested_len = read_length; /* this is by default */ + oraub8 chars_read = 0; +#else int bytes_read, bytes_total = 0, offset = 0; int requested_len = read_length; /* this is by default */ -#if defined(HAVE_OCI_LOB_READ2) - int chars_read = 0, is_clob = 0; + int chars_read = 0; #endif + int is_clob = 0; *data_len = 0; *data = NULL;
Leave a Reply