【问题标题】:Trouble setting currentSchema for DB2 on Glassfish在 Glassfish 上为 DB2 设置 currentSchema 时遇到问题
【发布时间】:2012-12-13 00:21:23
【问题描述】:

我一直在努力将应用程序从 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

在获得此设置方面的任何帮助都会很棒...我不想搜索每个表引用并在其前面加上架构名称。

【问题讨论】:

    标签: jdbc glassfish db2


    【解决方案1】:

    您可以在同一连接中发出this statement

    SET SCHEMA = my_schema;
    

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

    【讨论】:

    • 谢谢。我在创建每个连接后立即调用它,它运行良好。
    • 似乎是一个肮脏的解决方法。有没有办法在 glassfish 本身中设置它?
    猜你喜欢
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 2021-06-11
    • 2011-04-10
    • 2013-05-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多