Re: standard LOB support
От | Thomas Kellerer |
---|---|
Тема | Re: standard LOB support |
Дата | |
Msg-id | f5fsm4$q67$1@sea.gmane.org обсуждение исходный текст |
Ответ на | Re: standard LOB support ("EBIHARA, Yuichiro" <ebihara@iplocks.co.jp>) |
Ответы |
Re: standard LOB support
|
Список | pgsql-general |
EBIHARA, Yuichiro wrote on 22.06.2007 08:34: > Thomas, > > Thank you for your comment. > >> I found that using getBinaryStream(), setBinaryStream(), >> getCharacterStream() >> and setCharacterStream() to handle LOBs across different DBMS >> is much more >> portable (and reliably) than using the Clob()/Blob() methods. > > According to JDBC 3.0 specifiction, those 4 methods may not be compatible to BLOB/CLOB. > Some databases may support them to access LOB data but not all databases. > Hmm. At least for updating LOBs, "my method" should be "legal". This is a quote from jdbc-3_0-fr-spec.pdf "The setBinaryStream and setObject methods may also be used to set a Blob object as a parameter in a PreparedStatement object. The setAsciiStream, setCharacterStream, and setObject methods are alternate means of setting a Clob object as a parameter." But I have to admit that I never read the specs in detail until now. Those methods were simply working fine (and were the only reliable way to handle LOBs with the Oracle drivers). Btw: these methods are working (for me) with Oracle, SQL Server (jTDS and MS Driver), DB2 (8.x), Firebird, Derby, MySQL, HSQL, H2, Informix and Sybase Adaptive Server Anywhere. But I do think that the exception thrown when using getClob() or getBlob() is an error in the JDBC driver. Maybe we should file an issue for this. Regards Thomas
В списке pgsql-general по дате отправления: