Hi, > > 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. > > But my target databases are, actually, only PostgreSQL, > Oracle and DB2 and there is no problem with PostgreSQL. Also, > according to the Oracle JDBC driver manual, Oracle supports > stream access to LOB through the 4 methods. > > I'll also try DB2 soon. DB2 is ok too! According to manuals, both of Oracle and DB2 support getBytes()/setBytes()/getBinaryStream()/setBinaryStream() for BLOB and getString()/setString()/getCharacterStream()/setCharacterStream() for CLOB. Therefore, I can develop portable JDBC applications with LOB by using those methods and bytea/text data types on PostgreSQL. In addition, I can use DDL scripts including BLOB/CLOB with PostgreSQL too if I define domains as follows. CREATE DOMAIN BLOB AS BYTEA; CREATE DOMAIN CLOB AS TEXT; Tom, I also say thank you to you. But contrib/lo looks a little too much to me for this time. Thanks, ebi