JDBC和DB2中的命名参数标记

gmxoilav  于 2022-11-07  发布在  DB2
关注(0)|答案(1)|浏览(153)

我尝试使用命名参数标记,如下所示:

SELECT field
FROM table
WHERE field = :value  -- I'd like to use this ':value'

我一直在阅读这方面的内容,我知道我需要将我的PreparedStatement转换为DB2PreparedStatement,我也这样做了,在我的pom.xml中包含了这个依赖项:

<dependency>
        <groupId>com.ibm.db2</groupId>
        <artifactId>db2jcc</artifactId>
        <version>8.1</version><!-- I was using 4.3.111 before -->
    </dependency>

但是,当我来到Eclipse并尝试时,它似乎没有检测到DB2PreparedStatement中的setJccXXX()方法,我无法使它编译。

我还读到我可以通过继承为一个语句定制代码,但是如果我能做到这一点,我不想重新发明轮子。
我的主要怀疑是,这可能与db2jcc的版本有关,但我认为这是我可以使用的存储库中的最高版本。
其他数据:
在终端:我的意思是说,如果你不想让别人知道你的名字,你可以把你的名字写下来,这样你就可以把你的名字写下来。

IBM DB2 JDBC Universal Driver Architecture 2.3.63

在数据库中:

SELECT VERSIONNUMBER FROM SYSIBM.SYSVERSIONS

|VERSIONNUMBER| 
|-------------| 
|-10050900 | 
|9070900 | 
|10050800 | 
|10051000 |
|11010405 | 
|11010406 | 
|11050700 |
wz8daaqr

wz8daaqr1#

似乎,这个非常旧的Db2 jcc 2.3.63版本驱动程序(来自Db2 V8.2)不支持命名参数。
当代的Db2 jcc驱动程序确实支持这样的功能。
强烈建议您使用与Db2 Server版本相对应的Db2 jcc驱动程序。

相关问题