ColdFusion, Sybase, and 0-byte BLOBs
If you’re using ColdFusion to access BLOBs stored in a Sybase server, you may have a problem. Apparently, Sybase severely limits the timeframe wherein you’re allowed to retrieve the actual binary data, which is supposed to be available until the end of the current transaction. ColdFusion doesn’t pull the backing binary data immediately, and when it does, Sybase’s driver returns a 0-byte result.
We’ve implemented a workaround in SeeFusion’s driver for this. If you append “;convertBlobToBytes=true” to the end of the JDBC URL, SeeFusion (starting with version 4.0.7) will quietly convert any BLOB responses to byte array objects before returning the data to ColdFusion’s JDBC getObject() call. I’m not aware of any other drivers having this issue, but it should work for any other driver as well.
