2011-09-23 33 views
2

我想编写使用IBM DB2系统表(例如SYSIBM。)拉那导出以下查询的查询:如何访问DB2中的库,文件和字段描述?

LIBRARY_NAME,LIBRARY_DESC,FILE_NAME,FILE_DESC,FIELD_NAME,FIELD_DESC

我可以通过UI访问描述,但想要生成动态查询。

谢谢。

+0

请指出您在哪个平台上运行DB2。 –

+0

我认为这是iSeries。也许这并没有提供足够的信息,但我终于找到了我正在寻找的表格。仍在追查图书馆的描述。我使用的是QSYS2(SYSTABLES和SYSCOLUMNS)模式,能够获得除库描述以外的所有信息。你知道那里的生活吗? – Josh

回答

0

随着SYSTABLESSYSCOLUMNS,还有一个SYSSCHEMAS它似乎包含您需要的数据。请注意,通过QSYS2访问此信息将限制返回到您访问某些访问的那些对象的行 - SYSIBM模式似乎忽略了这一点(检查参考 - 对于V6R1它是关于页面1267)。

你也不应该需要通过动态查询来检索它 - 带主变量的静态(如果需要的话)将工作得很好。

+0

我无法从SYSSCHEMAS撤回数据,但它似乎是一个权限问题(我正在努力解决)。 – Josh

+0

@Josh - 您将需要'SELECT'访问'QSYS2'或'SYSIBM'模式,以及相关表格,尽管我会默认访问它们中的至少一个... –

+0

我似乎有权访问到SYSTABLES和SYSCOLUMNS,但在遇到SYSSCHEMAS时收到此错误:[SQL0443] * N原因。 。 。 。 。 :检测到触发程序,外部过程或外部函数并向SQL返回错误。如果错误发生在触发器程序中,则触发器位于模式QSYS中的表QDBSSUDF2上。如果错误发生在外部过程或函数中,则在模式QSYS中外部名称为QDBSSUDF2 ... – Josh