当用c3p0连接时,得到的ResultSet并不是java.sql.ResultSet,而是改写的ResultSet: c3p0获得的ResultSet是:com.mchange.v2.c3p0.impl.NewProxyResultSet 所以在取clob字段的内容的时候会出现nulloracle.sql.CLOB clob = (oracle.sql.CLOB)rs.getClob(ColumnName);
BufferedReader in = new BufferedReader(clob.getCharacterStream());这个时候clob 等于 null
如果直接使用JDBC链接则没有问题,因为他的ResultSet是java.sql.ResultSet我在取值之前分别打印了一下ResultSet
c3p0: com.mchange.v2.c3p0.impl.NewProxyResultSet@15872f5
直接JDBC: oracle.jdbc.driver.OracleResultSetImpl@1a7bf11
请问这个问题怎么解决,看在已经忙碌到凌晨4点的时候,大家帮帮忙啊!
谢谢了!
BufferedReader in = new BufferedReader(clob.getCharacterStream());这个时候clob 等于 null
如果直接使用JDBC链接则没有问题,因为他的ResultSet是java.sql.ResultSet我在取值之前分别打印了一下ResultSet
c3p0: com.mchange.v2.c3p0.impl.NewProxyResultSet@15872f5
直接JDBC: oracle.jdbc.driver.OracleResultSetImpl@1a7bf11
请问这个问题怎么解决,看在已经忙碌到凌晨4点的时候,大家帮帮忙啊!
谢谢了!
BufferedReader in = new BufferedReader(rs.getCharacterStream(ColumnName));
clob字段里面如果没有内容,那么它会返回一个null
所以自然会抛出一个NullPointException