求助

05-10-10 一剑封喉
在Entity Bean中:

建一个Finder方法findItems(String age),QL:select object(p) from Items as p where p.age=?1 其中返回值为Collection

当在SessionBean中调用时:

String age="2";

Collection collection=itemsHome.findItems(age); //出错的地方

我用的DB和Driver: mysql5.0 3.2的驱动

当我在用mysql4.0 和2.0的驱动时,没有问题

我现在断定是驱动不支持这种情况,

这个问题各位不至于到过没,怎样解决?

谢谢了

一剑封喉
2005-10-10 13:41
这是异常:

javax.ejb.FinderException: Exception in findItems while preparing or executing statement: 'weblogic.jdbc.wrapper.PreparedStatement_com_mysql_jdbc_ServerPreparedStatement@11'

java.sql.SQLException: Unknown type '246 in column 7 of 8 in binary-encoded result set.

java.sql.SQLException: Unknown type '246 in column 7 of 8 in binary-encoded result set.

at com.mysql.jdbc.MysqlIO.unpackNativeEncodedColumn(MysqlIO.java:4149)

at com.mysql.jdbc.MysqlIO.unpackBinaryResultSetRow(MysqlIO.java:3672)

at com.mysql.jdbc.MysqlIO.nextRow(MysqlIO.java:1335)

at com.mysql.jdbc.MysqlIO.readSingleRowSet(MysqlIO.java:2253)

at com.mysql.jdbc.MysqlIO.getResultSet(MysqlIO.java:434)

布衣
2005-10-10 13:58
object是什么?确认sql文没有问题?

将sql文单独运行下看看。

一剑封喉
2005-10-10 17:31
是字段的问题,有个column是decimal类型的

去掉它就ok了,加上它就不行了

不知道在ejb中应该怎样处理一下才能在mysql中正常使用decimal类型的字段

猜你喜欢