求助各位大神,关于ORACLE JDBC驱动的PreparedStatement setString方法处理char字段的问题
数据库为oracle,某张表的字段为f1 char(20),插入的数据为'abcd',这样数据库中实际存储的值应该是'abcd+16个空格'。
利用weblogic配置的ORACLE JDBC数据源连接查询数据库,使用一般的statement的话, where f1='abcd'可以查询出来数据;使用PreparedStatement,where f1=?, 然后利用setString(1,'abcd'),无法查询到数据。
有没有什么办法可以解决这个问题?
补充:因为是系统数据库迁移遇到的这个问题,原来是Informix的库,informix的驱动没有这个问题。
表结构不能更改。用oracle自己的setFixedChar的话,因为牵涉到的代码较多,暂时不考虑这样更改。
不知道有没有其他的好方法?