Ibm midrange 从iSeries v7r1导出到Excel或Access获取列说明

Ibm midrange 从iSeries v7r1导出到Excel或Access获取列说明,ibm-midrange,Ibm Midrange,在我看来,得到这么简单的东西应该不像看上去那么难 列名非常隐晦,但我可以使用iSeries Navigator看到这些列的描述(或者是“Agravator”?) 下面是表格定义的屏幕截图。(剪切掉连接信息以保持安全性 ) 我想要“文本”列中的值,我希望在Access 2010应用程序中使用几个不同iSeries表中的值。如果只有这一张桌子,我很可能会手工输入 我已经能够使用我在网上找到的以下SQL语句获得大部分信息(少了上面提到的“文本”栏中的信息)。 (我不再确定在哪里……我看了这么多……发现

在我看来,得到这么简单的东西应该不像看上去那么难

列名非常隐晦,但我可以使用iSeries Navigator看到这些列的描述(或者是“Agravator”?)

下面是表格定义的屏幕截图。(剪切掉连接信息以保持安全性 ) 我想要“文本”列中的值,我希望在Access 2010应用程序中使用几个不同iSeries表中的值。如果只有这一张桌子,我很可能会手工输入

我已经能够使用我在网上找到的以下SQL语句获得大部分信息(少了上面提到的“文本”栏中的信息)。 (我不再确定在哪里……我看了这么多……发现其中大部分都非常令人困惑!)

选择COLUMNS.TABLE_CATALOG、COLUMNS.TABLE_SCHEMA、COLUMNS.TABLE_NAME、COLUMNS.COLUMN_NAME、COLUMNS.ORDINAL_POSITION、COLUMNS.COLUMNS.IS_NULLABLE、COLUMNS.DATA_TYPE、COLUMNS.CHARACTER_最大长度、COLUMNS.CHARACTER_八位字节长度、COLUMNS.NUMERIC_精度、COLUMNS.NUMERIC_精度、基数、COLUMNS.NUMERIC_刻度、,COLUMNS.DATETIME\u PRECISION,COLUMNS.INTERVAL\u TYPE,COLUMNS.INTERVAL\u PRECISION,COLUMNS.CHARACTER\u SET\u目录,COLUMNS.CHARACTER\u SET\u模式,COLUMNS.COLLATION\u目录,COLUMNS.COLLATION\u模式,COLUMNS.DOMAIN\u目录,COLUMNS.DOMAIN\u名称,COLUMNS.UDT\u目录,COLUMNS.UDT\u架构、COLUMNS.UDT\u名称、COLUMNS.SCOPE\u目录、COLUMNS.SCOPE\u架构、COLUMNS.SCOPE\u名称、COLUMNS.MAXIMUM\u基数、COLUMNS.DTD\u标识符、COLUMNS.IS\u自引用 从SYSIBM.COLUMNS 其中(COLUMNS.TABLE_NAME='IVITMMS')

有人能帮帮我吗? 蒂亚,
Don

这是一个由两部分组成的解决方案:

  • PassThru查询
    选择substr(COLUMN_NAME,1,18)作为ColumnName,选择substr(TABLE_NAME,1,18)作为TableName,选择substr(TABLE_SCHEMA,1,18)作为SCHEMA,选择qsys2.syscolumns中的COLUMN_TEXT,其中TABLE_SCHEMA='BLMYPRDDTA'

  • 使用In()运算符构建一个SELECT查询,以筛选表及其列的列表
    选择qryPassThroughSYSCOLUMNS.*,qryPassThroughSYSCOLUMNS.TABLENAME
    从qryPassThroughSYSCOLUMNS
    其中(((qryPassThroughSYSCOLUMNS.TABLENAME)在(“COMASTR”、“COWOREF”)中)


  • 查看此查询:“从qsys2.syscolumns中选择substr(列名称,1,18)、substr(表名称,1,18)、substr(表模式,1,18)、列标题、列文本”。它是否显示了您需要的数据?是的!它确实。。。但是对于每个表,我可以添加一个WHERE来指定一个表吗?所以添加“WHERE table\U NAME=''”或“WHERE table\U SCHEMA=''”或任何需要WHERE子句的内容,以获得您想要的内容。@DonLeverton在回答中给出了您在这里损失的10分。选择cast(列名称为char(20))作为cn,SYSTEM(系统)列名称SYSTEM(系统)表名称,SYSTEM(系统)表模式,cast(列文本为char(50)ccsid 37)作为文本,cast(列标题为char(60)ccsid 37)作为QSYS2/SYSCOLUMN2中的HDG