使用预准备语句DB2时获取SQLCODE = -313

时间:2016-05-25 21:02:33

标签: javascript sql node.js jdbc

目前我遇到一个问题,当在node-jdbc中使用预处理语句执行查询/插入时,我有时会收到错误:

DB2 SQL Error: SQLCODE=-313, SQLSTATE=07004

在IBM网站上查看此错误代码时,它说:

  

指定的主机变量数量不等于数量   参数标记

     

https://www.ibm.com/support/knowledgecenter/SSEPEK_10.0.0/com.ibm.db2z10.doc.codes/src/tpc/n313.dita

我还尝试删除所有准备好的声明并简单地设置值,这样做解决了我的问题,但由于显而易见的原因,我无法做到这一点。此外,崩溃不会每次都发生,并且可能发生在使用预准备语句的任何查询上。

真的很感激任何帮助, 拉菲

修改 - 添加了dB代码的链接:http://pastebin.com/sm1nbhdi

1 个答案:

答案 0 :(得分:0)

我知道这被标记为javascript,但是我在Java中(带有db2和eclipse链接)使用NamedNativeQuery遇到此错误。这是一个与参数绑定有关的怪异问题。我有使用:进行参数绑定的现有命名查询,例如:param运行正常。

解决方案似乎是将参数绑定从:更改为#