有一个问题

一剑封喉
05-08-20 2 124

在客户端访问CMP时,抛出以下异常,不知道是不是驱动的问题:
javax.ejb.FinderException: Exception executing finder 'findAll':

java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]ResultSet can not re-read row data for column 1.

java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]ResultSet can not re-read row data for column 1.

at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)

一剑封喉
2005-08-20 18:28

在我的表中有一个字段是Image类型的(问题估计就出在这里),当我把这个字段删掉时,一切OK。
我估计这是不是我的驱动不支持读取byte(就是image类型的数据),或者是对于image类型数据在ejb中有一些特殊的设置,郁闷ing……………………………………

dabb
2005-08-22 10:22

我不太明白你的问题。只是猜想是不是这样:
你的image类型是通过resultset.getBinaryStream()这样的方法来读取吧。因为jdbc实现里规定:All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getter method implicitly closes the stream.
就是说resultset.getBinaryStream只能在其他的result.get*方法前调用。