关于db2 as/400 汉字保存的问题

climb011358 2006-10-12 05:51:37
小弟遇到一个java中保存汉字到db2 的as/400问题,希望大家帮助以下?
我的程序是这样的:
ConnectionManager cm = new ConnectionManager();
String value = new String( "21312测试我们大家一起321331".getBytes("GBK"), "ISO8859-1" );

String sql = "insert into TBL.TRPAPF (BLLCON, BLLNUM, BNKCOD, OPRDAT, RTNCDE, TXBNUM, TXUNUM) values ('"+value+"', '00010028', '03', 20060809, 'T', '05', '5858')";
try {
cm.exeSQL(sql, cm.getStatement(cm.getAs400Connection()), 1);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


其中exeSQL()如下,存在于ConnectionManager 中:
/**
* 数据库查询操作操作,并关闭
*
* @param sql sql操作语句
* @param stmt
* @param operateType 操作类型:0--查询,1--修改,2--删除
* @return ResultSet对象
* @throws SQLException
*/
public ResultSet exeSQL(String sql, Statement stmt, int operateType) throws SQLException {
ResultSet rs = null;
try {
if (operateType == 0) {
rs = stmt.executeQuery(sql);
} else {
stmt.executeUpdate(sql);
}
} catch (SQLException e) {
e.printStackTrace();
throw e;
} finally {
try {
stmt.close();
logger.debug("Statement关闭成功");
} catch (SQLException e) {
logger.error("Statement关闭异常", e);
throw e;
}
}
return rs;
}
保存后在数据看不到汉字部分数据,数据可以看到,
若String value = ""21312测试我们大家一起321331";
则抛以下异常:
java.sql.SQLException: [SQL0330] Character conversion cannot be performed.
at com.ibm.as400.access.JDError.throwSQLException(JDError.java:367)
at com.ibm.as400.access.AS400JDBCStatement.commonPrepare(AS400JDBCStatement.java:954)
at com.ibm.as400.access.AS400JDBCStatement.executeUpdate(AS400JDBCStatement.java:1388)

我的数据库连接池是这样的,并且数据库连接正常:
URL: jdbc:as400://192.168.15.200
Driver Classname: com.ibm.as400.access.AS400JDBCDriver


服务器: weblogic 8.5

请各位大虾帮帮忙,xiexie :>,分不够好说,加!!!!!
...全文
242 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧