首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >DB2 SqlException:不带标记传递的SQL (错误代码-4462)

DB2 SqlException:不带标记传递的SQL (错误代码-4462)
EN

Stack Overflow用户
提问于 2015-10-22 06:46:37
回答 1查看 12.3K关注 0票数 1

尝试在来自XML文件的查询中使用prepareStatement

代码语言:javascript
运行
复制
<sql><![CDATA[
  select MY_COLUMN from MY_TABLE where OTHER_COLUMN = ? 
]]>
</sql>

但我有个例外:

代码语言:javascript
运行
复制
com.ibm.db2.jcc.am.SqlException: [jcc][t4][10234][10927][3.59.81] SQL passed with no tokens. ERRORCODE=-4462, SQLSTATE=null
        at com.ibm.db2.jcc.am.dd.a(dd.java:660)
        at com.ibm.db2.jcc.am.dd.a(dd.java:60)
        at com.ibm.db2.jcc.am.dd.a(dd.java:120)
        at com.ibm.db2.jcc.am.jb.v(jb.java:7334)
        at com.ibm.db2.jcc.am.jb.a(jb.java:2124)
        at com.ibm.db2.jcc.am.jb.prepareStatement(jb.java:754)

我读到这是因为SQL不在一行中。这就是原因吗?

我还在IBM中读到,您必须将db2_zos.DbDriverType从2更改为4,但我认为这与我无关,因为我不使用IBM。

谷歌没有发现任何其他有用的东西。我希望知道错误的真正原因,并找到一个比强迫所有SQL放在单行上更容易的修复方法。

代码:

代码语言:javascript
运行
复制
ArrayList arrList = new ArrayList();

String sSQL = queryManager.getSQL("QRY001");

Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
  conn = getConnection(); //a connection pool wrapper for java.sql.DriverManager.getConnection(...)
  ps = conn.prepareStatement(sSQL); // **** EXCEPTION OCCURS HERE

  ps.setInt(1, Integer.parseInt(otherColumn));
  rs = ps.executeQuery();
  while (rs.next())
  {
    arrList.add(rs.getString(1));
  }
} catch (Exception e) {
  e.printStackTrace();
  throw new OEException(e);
} finally {
  try {
    if (rs != null) {
      rs.close();
    }
    if (ps != null) {
      ps.close();
    }
    releaseConnection(conn);
  } catch (Exception e) {
    throw new CustomException(e);
  }
}
return arrList;
EN

回答 1

Stack Overflow用户

发布于 2022-09-15 03:01:43

因为SQL执行有注释;请参考正式文档https://www.ibm.com/support/pages/apar/PH14323

也试着像这样写

代码语言:javascript
运行
复制
<sql> 
  select MY_COLUMN from MY_TABLE where OTHER_COLUMN = ? 
</sql>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33274889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档