Apache OpenOffice (AOO) Bugzilla – Issue 105086
base cannot write into Oracle blob fields from a form
Last modified: 2017-05-20 10:24:02 UTC
to reproduce: Connect to Oracle via jdbc from an WindowsXP-Client. The table must have a column of type BLOB not null. Create a form with a graphic control. Select a picture and try to update/insert. Message ORA:ORA: cannot update field to NULL.
confirming, grabbing, targeting
fs->oj: There seems to be some inconsistency in how binary streams are handled in the RowSet (or perhaps the driver returns wrong meta data?) ... The form calls updateBinaryStream at the RowSet, with a stream containing the complete image. The RowSet decides to store this as byte sequence, since it thinks that the respective column is of type VARCHAR. When insertRow is called, the cache tries to pass the stream as statement parameter, it recognizes the column is of type BLOB, and thus tries to extract a stream from the column value - which fails, since the RowSet wrote a by sequence. So, what astonishes me is that the RowSet and the RowSetCache have different opinions on the type of the column. This should either be fixed, and/or the RowSetCache code which tries to write a BLOB should be able to handle byte sequences, too.
Fixed in cws dba33b. The BLOB type wasn't supported very well.
Please verify in cws dba33b. Thanks.
verified in CWS dba33b find more information about this CWS, like when it is available in the master builds, in EIS, the Environment Information System: http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Path=DEV300%2Fdba33b
*** Issue 105087 has been marked as a duplicate of this issue. ***