【问题标题】:specify default schema for a database in db2 client在 db2 客户端中为数据库指定默认模式
【发布时间】:2014-02-19 15:57:30
【问题描述】:

我们有什么方法可以在 AIX 的 db2 客户端中的编目数据库中指定默认模式。

问题是,当它连接到数据库时,它将用户 ID 作为默认架构,这就是它失败的地方。

我们有太多的脚本在对 DB 进行事务处理时没有在它们的 db2 sql 语句中指定模式。所以改脚本根本不可行。

我们也不能创建用户来匹配架构。

【问题讨论】:

    标签: unix db2 database-schema aix catalog


    【解决方案1】:

    您可以在执行查询之前尝试输入SET SCHEMA=<your schema> ;

    【讨论】:

    • 连接是在脚本本身中建立的。我们不能这样做
    • 你把这条线放在连接之后。或者您与与架构同名的用户连接。这不是 AIX 问题,而是默认的 DB2 行为。
    • 这对我很有用。我不得不在 DB2 Warehouse 实例上切换到 HTTP 的连接。我的数百个查询需要更新 - 或者我可以在每次使用 /sql_jobs 端点之前发送 SET SCHEMA(IBM 的 DB2 Warhouse in Cloud 不允许创建自己的端点 - 或存储过程,所以这是我能做的最好的非常有限的“服务”。所以,在我的查询选项中,对于command,我有SET SCHEMA MY_SCHEMA; SOME EXISTING QUERYseparator: ';'。令人失望的是我不能只设置一次 - 它需要在每个 POST 中设置...
    【解决方案2】:
    【解决方案3】:

    注意:不确定这是否可行(我目前没有 DB2 数据库,但似乎可行)并且取决于您的 DB2 版本。

    您可以创建一个只更改当前架构的存储过程,然后将 SP 设置为连接过程。您可以在进行架构更改之前测试一些条件,例如,如果存储过程是直接使用给定用户从 AIX 服务器执行的。

    你通过修改connect_proc配置数据库每次建立连接时使用这个SP

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-04
      • 1970-01-01
      • 2021-11-27
      • 2011-07-16
      • 1970-01-01
      • 2013-07-23
      • 1970-01-01
      相关资源
      最近更新 更多