1

我一直在努力将应用程序从 MySQL 迁移到 DB2,目前在部署时遇到了 currentSchema 的问题。

查询:

SELECT count(*) FROM SomeTable WHERE BooleanColumn=1

会给我一个错误(SQLCODE=-204),这意味着该对象不存在。

相反,如果我发出这样的查询:

SELECT count(*) FROM SCHEMA.SomeTable  WHERE BooleanColumn=1

一切都如我所料。

似乎我应该能够将其设置为默认的某个模式,此时我专注于 Glassfish 中的 JDBC 连接池。似乎我通常能够构建一个类似于“jdbc:db2://SERVER_NAME:PORT/DATABASE:currentSchema=SCHEMA_NAME;”的 JDBC URL,并且 currentSchema 会满足我的需求,但我不知道如何在 Glassfish 的管理控件中执行此操作。我显然对 Glassfish 不太了解 - 我很可能找错地方了。

我的“附加属性”部分配置如下:

废话。我想我太新了,无法嵌入图片……这个链接是这样的:

http://i.stack.imgur.com/IqUQd.jpg

获得此设置的任何帮助都会很棒...我不想寻找每个表引用并在其前面加上模式名称。

4

1 回答 1

0

您可以在同一连接中发出此语句:

SET SCHEMA = my_schema;

默认情况下,DB2 使用您的用户名作为模式。

于 2012-12-13T05:54:26.520 回答