db2无效参数:未知列名SERVER_POOL_NAME。 ERRORCODE = -4460,SQLSTATE = null

时间:2013-08-30 15:50:02

标签: jdbc properties db2 db2-luw

我正在使用SQL'select'来访问带有schemaname.tablename的db2表,如下所示:

select 'colname' from schemaname.tablename 

表名肯定有'colname'= SERVER_POOL_NAME。但我收到以下错误:  “参数无效:未知列名SERVER_POOL_NAME.ERRORCODE = -4460,SQLSTATE = null”

我正在使用db2 v10.1 FP0 jdbc驱动程序版本3.63.123。 JDBC 3.0规范 该应用程序作为db2管理员和Windows 2008管理员

运行

我在db2jcc4.jar Invalid parameter: Unknown column name

看到了有关此问题的讨论

但我不知道应该在哪里设置连接参数'useJDBC4ColumnNameAndLabelSemantics(to value = 2)

我看到参数应该出现在com.ibm.db2.jcc.DB2BaseDataSource中(参见:http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=%2Fcom.ibm.db2.luw.apdv.java.doc%2Fsrc%2Ftpc%2Fimjcc_r0052607.html

但我在DB2安装上找不到这个文件。也许它被打包在.jar文件中

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您所指的页面上的

There is a link,向您展示设置属性的方法。具体来说,您可以使用所需的值填充Properties对象,并将其提供给getConnection()来电:

String url = "jdbc:db2://host:50000/yourdb";
Properties props = new Properties();
props.setProperty("useJDBC4ColumnNameAndLabelSemantics", "2");
// set other required properties
Connection c = DriverManager.getConnection(url, props);

或者,您可以在JDBC URL本身中嵌入属性名称/值对:

String url = "jdbc:db2://host:50000/yourdb:useJDBC4ColumnNameAndLabelSemantics=2;";
// set other required properties
Connection c = DriverManager.getConnection(url);

请注意,每个名称/值对必须以分号结束,即使是最后一个分号。