在数据库迁移到新的DB2/400服务器之后,表和列标签不再可访问。要启用哪些服务器设置。。?

在数据库迁移到新的DB2/400服务器之后,表和列标签不再可访问。要启用哪些服务器设置。。?,db2,db2-400,Db2,Db2 400,我们有一个第三方DB2/400应用程序,这是我们业务的核心。它最近从Power7上带有AS400/i v6r1的私有服务器迁移到Power9上带有AS400/i v7r3的托管云服务 自迁移以来,SQL客户端在任何类型的数据库资源管理器中浏览表时都无法看到表文本或列文本。在大多数情况下,在浏览器中浏览表或列时,文本应该显示在“备注”或“说明”下,但现在不再显示 即使是IBMDataStudio也不会以列的形式显示数据,但它确实提供了隐藏得很深且难以访问的信息 向SQL客户机提供此元数据涉及哪些D

我们有一个第三方DB2/400应用程序,这是我们业务的核心。它最近从Power7上带有AS400/i v6r1的私有服务器迁移到Power9上带有AS400/i v7r3的托管云服务

自迁移以来,SQL客户端在任何类型的数据库资源管理器中浏览表时都无法看到表文本或列文本。在大多数情况下,在浏览器中浏览表或列时,文本应该显示在“备注”或“说明”下,但现在不再显示

即使是IBMDataStudio也不会以列的形式显示数据,但它确实提供了隐藏得很深且难以访问的信息

向SQL客户机提供此元数据涉及哪些DB2服务器设置。。??我搜索过IBM网站,但答案堆积如山

在我与我们的主机提供商讨论这个问题之前,我想先了解一下这些信息。它们提供的ODBC/JDBC连接“大多不支持”,但我希望他们能考虑帮助我们解决这个问题,如果我能尽可能详细地描述服务器设置。p> 需要明确的是,我要查找的是DDL语句中的标签,例如:

LABEL ON TABLE  "SCHEMA1"."TABLE1"           IS 'Some Table Description';
LABEL ON COLUMN "SCHEMA1"."TABLE1"."COLUMN1" IS 'Some Column Desc';
客户端可能无法访问标签,但以下SQL查询可以访问标签:

SELECT  TABLE_SCHEMA, TABLE_NAME, TABLE_TEXT
FROM    QSYS2.SYSTABLES
WHERE   TABLE_SCHEMA = 'SCHEMA1'
AND     TABLE_NAME   = 'TABLE1'  

SELECT  TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, COLUMN_TEXT
FROM    QSYS2.SYSCOLUMNS
WHERE   TABLE_SCHEMA = 'SCHEMA1'
AND     TABLE_NAME   = 'TABLE1'  
我尝试了下面列出的客户机和驱动程序,但没有一个可以访问表或列的标签。我读过很多关于StackOverflow和其他地方的帖子,尝试了很多客户端和驱动程序的设置调整,但都没有效果。显然,这是新服务器上的一个问题

客户:

  • DBeaver 5.2.5(我的首选客户)(非常)
  • SquirrelSQL3.8.1
  • SQL工作台124
  • IBM Data Studio 4.1.3
司机:

  • JTOpen 6.6
  • JTOpen 7.6(最近下载了IBM Data Studio)
  • JTOpen 9.5

ODBC/JDBC使用另一组目录…位于
SYSIBM
架构中

sysibm.sqltables
sysibm.sqlcolumns

等等


使用SquirreSQL 3.9和JtOpen,您必须在驱动程序属性中选择两个选项:

remarks = true
extended metadata = true
在新会话配置中,检查SQL/Display元数据,然后瞧:


通过V7R1检查,使用DDS注释或SQL标签

我在IBM论坛上发布了这个问题,并收到了我需要的答案:

解决方案是按如下方式设置JDBC驱动程序属性:

metadata source = 0
有了这个变化,我的情况似乎不需要其他属性。设置
元数据源
属性后,我对另外两个进行了测试更改,但没有看到任何明显的差异:

remarks = true
extended metadata = true

根据JTOpen文档(),“备注”属性的可能选项是“system”或“sql”(不正确或错误),默认值为“system”。但是我已经在我测试的所有客户机中尝试了这些设置,但没有任何帮助。好的,这很有趣。也许JT400扩展属性“备注”会选择使用哪个。我应该说,这些年来我偶尔涉猎过SQL,但最近回到大学,在Oracle上有四个学期的SQL。但是,甚至在我毕业之前,我就在AS400系统上找到了这份工作,这就是我一直在磨练的技能。我使用的第一个目录是SYSTABLES和SYSCOLUMNS(参见我关于“未记录”lol的OP)。我不知道SQLTABLES和SQLCOLUMNS也在那里。但即便如此,这似乎也无济于事;这两个版本中的后一个版本的信息似乎更少……而且,我似乎在交替使用ODBC和JDBC(而且不正确)。dev客户机是JDBC,但是我将查询打包到microsoftaccess&Excel项目中,这些项目是ODBC。我想