Chinaunix首页 | 论坛 | 博客
  • 博客访问: 302503
  • 博文数量: 22
  • 博客积分: 674
  • 博客等级: 上士
  • 技术积分: 792
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-19 00:48
文章存档

2013年(2)

2012年(20)

我的朋友

分类: Java

2012-08-28 14:28:01

利用itabis进行数据库查询操作时,控制台抛出这个异常:

点击(此处)折叠或打开

  1. com.ibatis.common.jdbc.exception.NestedSQLException:
  2. --- The error occurred in sqlMap_etlJobQueue.xml.
  3. --- The error occurred while applying a parameter map.
  4. --- Check the select_putJobIntoQueue-InlineParameterMap.
  5. --- Check the statement (query failed).
  6. --- Cause: java.sql.SQLException: ORA-00911: invalid character
在网上查了一下说是oracle字符集设置的问题。另外抛异常的SQL语句在控制台输出如下:

点击(此处)折叠或打开

  1. 2012-08-28 14:21:23,655 DEBUG jdbc.SimpleDataSource (JakartaCommonsLoggingImpl.java:debug(27)) - Created connection 9377143.
  2. 2012-08-28 14:21:23,732 DEBUG sql.Connection (JakartaCommonsLoggingImpl.java:debug(27)) - {conn-100000} Connection
  3. 2012-08-28 14:21:23,744 DEBUG sql.Connection (JakartaCommonsLoggingImpl.java:debug(27)) - {conn-100000} Preparing Statement: select COALESCE(max(seqID),0) as seqID from etl_job_queue;
  4. 2012-08-28 14:21:24,000 DEBUG sql.PreparedStatement (JakartaCommonsLoggingImpl.java:debug(27)) - {pstm-100001} Executing Statement: select COALESCE(max(seqID),0) as seqID from etl_job_queue;
  5. 2012-08-28 14:21:24,001 DEBUG sql.PreparedStatement (JakartaCommonsLoggingImpl.java:debug(27)) - {pstm-100001} Parameters: []
  6. 2012-08-28 14:21:24,002 DEBUG sql.PreparedStatement (JakartaCommonsLoggingImpl.java:debug(27)) - {pstm-100001} Types: []
  7. 2012-08-28 14:21:24,033 DEBUG jdbc.SimpleDataSource (JakartaCommonsLoggingImpl.java:debug(27)) - Returned connection 9377143 to pool.
出错的语句如下:select COALESCE(max(seqID),0) as seqID from etl_job_queue;
这是因为在ibatis sqlmap配置文件中定义语句时sql后面多了一个分号。这样的话在PL/SQL中是无所谓的,可是Java 的数据库驱动却不识别这样的语句了。
阅读(5144) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~