java.sql.SQLException: 关闭的连接 (读取oracle 10g Blob)

读取oracle blob字段时,我读取后set到一个类的属性中,然后再get的时候就得不到了
java.sql.SQLException: 关闭的连接。

在 Blob content_blob= s.getcontent();时,出现连接关闭,本不应该这样的,一个get方法怎么会出现连接关闭,使我百思不得其解,郁闷了好半天,最后在调用的方法中将关闭的方法,即st.close(),rs.close()等都给屏蔽掉,再运行就好了。

 

 在网上查了好一会儿,最后看到以下这段话:

“此段代码可以顺利的无异常的执行。由此我推测认为,主要是因为 resultset ,connection关闭引起的。这说明,在执行了查询操作之后,我们虽然可以得到一个blob对象,但是实际的内容并没有读入内存,也就是说,并没有读如到blob对象中,而此blob对象也就相当于一个对数据库中blob字段操作的一个引用,所以,此时,如果想从blob字段中读取数据,还是需要数据库连接的

而上面的封装操作之后,数据库连接已经中断,所以,再读取数据时,就发生了异常。

以上红字问题也许可以说明原因。

所以得到查询集合后还是不能关闭,暂时到此,至于不关闭不会不造成垃圾或其他问题,再说吧。遇到问题再解决。

你可能感兴趣的:(java,oracle,sql)