与 db2 jdbc 的连接错误
Posted
技术标签:
【中文标题】与 db2 jdbc 的连接错误【英文标题】:connection error with db2 jdbc 【发布时间】:2016-06-23 20:49:16 【问题描述】:谁能提供有关如何诊断下面列出的错误的线索?注意,我可以通过 DB2 connect 连接到这个 DB2 实例,但不能通过 jdbc。
org.apache.openjpa.persistence.PersistenceException: Unable to open a test
connection to the given database. JDBC url = jdbc:db2://dxxx_xxx.xxx.com:5000/XXXXX:deferPrepares=false, username = NNNNN. Terminating connection pool. Original Exception: ------
com.ibm.db2.jcc.am.SqlSyntaxErrorException: [jcc][10165][10051][3.63.75] Invalid database URL syntax: jdbc:db2:/dxxx_xxx.xxx.com:5000/XXXXX:deferPrepares=false. ERRORCODE=-4461, SQLSTATE=42815
at com.ibm.db2.jcc.am.fd.a(fd.java:679)
at com.ibm.db2.jcc.am.fd.a(fd.java:60)
at com.ibm.db2.jcc.am.fd.a(fd.java:85)
at com.ibm.db2.jcc.DB2Driver.tokenizeURLProperties(DB2Driver.java:911)
at com.ibm.db2.jcc.DB2Driver.connect(DB2Driver.java:408)
at java.sql.DriverManager.getConnection(DriverManager.java:571)
at java.sql.DriverManager.getConnection(DriverManager.java:215)
at com.jolbox.bonecp.BoneCP.obtainRawInternalConnection(BoneCP.java:256)
at com.jolbox.bonecp.BoneCP.<init>(BoneCP.java:305)
at com.jolbox.bonecp.BoneCPDataSource.maybeInit(BoneCPDataSource.java:150)
【问题讨论】:
我错过了一个 ;在连接字符串的末尾。 【参考方案1】:错误信息是不言自明的:
无效的数据库 URL 语法
URL 中不能有任何空格,键值对用分号而不是逗号分隔。请注意,您也必须在最后一个值后面加上分号。
jdbc:db2://dxxx_xxx.xxx.com:5000/XXXXX:deferPrepares=false;username=NNNNN;
详情可见in the manual。
【讨论】:
【参考方案2】:查看从 DB2 文档中获取的信息(添加了下面的参考链接)。
消息文本: text-from-getMessage
说明:指定的值无效或超出范围。
用户响应:调用 SQLException.getMessage 以检索有关问题的具体信息。
SQLSTATE: 42815
参考:https://www.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.apdv.java.doc/src/tpc/imjcc_rjvjcsqc.html
【讨论】:
以上是关于与 db2 jdbc 的连接错误的主要内容,如果未能解决你的问题,请参考以下文章
Cognos 10.2.2 as400 iSeries DB2 jdbc 连接