oracle:ps.setString(1, key)问题
这次代码重整中,碰到一个新问题。
ps = conn.preParedStatement(sql)
rs = conn.executeQuery()
正常。
为了提高效率,改为
ps = conn.prePareStatement(sql, ResutSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCURRENT_READ_ONLY);
ps.setString(1, key);
能够取出结果,文本正常(clob字段),但是其它的文本字段不正常,比如标题、日期,都是乱码。
被这个问题浪费了一个多小时,才想到可能是oracle的jdbc 驱动问题。因为现在使用的是比较老的oracle 8i。
才知道了问题的所在。
恢复过去,果然又能够正常显示了。
但是,与ps的属性是否相关,还应该进一步测试。
毕竟ps.setString()是正途,效率高些。
ps = conn.preParedStatement(sql)
rs = conn.executeQuery()
正常。
为了提高效率,改为
ps = conn.prePareStatement(sql, ResutSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCURRENT_READ_ONLY);
ps.setString(1, key);
能够取出结果,文本正常(clob字段),但是其它的文本字段不正常,比如标题、日期,都是乱码。
被这个问题浪费了一个多小时,才想到可能是oracle的jdbc 驱动问题。因为现在使用的是比较老的oracle 8i。
才知道了问题的所在。
恢复过去,果然又能够正常显示了。
但是,与ps的属性是否相关,还应该进一步测试。
毕竟ps.setString()是正途,效率高些。
hofman
2005-04-11 23:58:31
评论:0
阅读:1265
引用:0
