1

我正在使用 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(值=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 文件中

有什么建议吗?

4

1 回答 1

1

您所指的页面上有一个链接,向您展示了设置属性的方法。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);

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

于 2013-08-30T15:58:22.990 回答