我是 AS400 新手,我的工作是使用 AS400 和 Powerlink (XA) 访问和管理大型 ERP 数据。我找到了一种使用 System I Nagivator 表通过 Excel VBA 和 SQL 访问数据的方法。
我的问题是我无法在导航器中找到正确的架构>表来提供与 AS400 中我想要的数据相匹配的 Excel VBA。
问题:假设我想要查找某件商品的价格,并且想要在 Navigator 中查找价格表。 AS400 有没有办法获取与 Navigator 中相同表格匹配的价格表名称?
这是我的第一个问题,如果需要更多信息,请告诉我。
请帮忙,谢谢!
最佳答案
首先介绍一下术语,AS/400 是一个旧术语,以前称为 AS/400 的平台和操作系统的当前名称现在是 IBM i on Power Systems。 IBM i 是操作系统。 (直到 IBM 再次更改名称)
如果您知道表名称但不知道 IBM i 对象名称
在 IBM i 上,数据库内置于操作系统中,许多操作系统对象实际上是数据库对象。以下是一些 SQL 概念如何映射到 IBM i 术语。
SQL IBM i
-------------- ------------------
Schema Library
Table Physical file
Index Logical file
View Logical file
Row Record
Column Field
不幸的是,在 IBM i 中,对象名称限制为 10 个字符。另一方面,SQL 名称最多可以有 128 个字符。您将找不到名为 CustomerMaster 的物理文件。 DB2 将该长名称映射到系统名称。您可以通过查询目录来找到系统名称,如下所示:
select system_schema_name, system_table_name
from qsys2.systables
where table_name = 'Navigator name'
列TABLE_NAME
将保存表的长SQL名称,SYSTEM_TABLE_NAME
将保存IBM i对象名称。请注意,长模式名称也可以映射到系统名称。 SCHEMA_NAME
列保存模式的长 SQL 名称,而 SYSTEM_SCHEMA_NAME
保存 IBM i 库名称。架构名称长度超过 10 个字符的情况并不常见,因此两个架构名称列通常是相同的。
如果您知道程序名称并有权访问源代码
这对您来说可能是显而易见的,但我将其放在这里只是为了完整性。您可以在源代码中查找正在使用的文件,然后从屏幕字段回溯到文件。
如果您只有绿屏
如果您有适当的权限,您可以检索当前作业的打开文件。如果这对您不起作用,您将必须向系统管理员或有权限的人寻求帮助。但这只会为您提供候选文件,并且它们很可能是逻辑文件。为此,您必须有权查看您的作业,并且您必须知道系统请求键如何映射到键盘(这是特定于实现的,并且可能是自定义的,因此您必须检查与您公司或模拟器内部的人员确定)。
完成后,启动绿屏程序,显示您正在寻找的价格字段。然后按系统请求键。如果您配置为允许这样做,您将在屏幕底部看到一条输入行,并且光标将定位到该输入行。
按 Enter 键。
您现在应该位于“系统请求”菜单中。
选择选项 3,然后再次按 Enter 键。您应该位于当前作业的“显示作业”屏幕中。
如果这一切对您来说正确,那么选项 12 将向您显示您的作业当前锁定的文件。即,为您的作业打开的文件。价格字段应位于其中之一。
关于sql - AS400 和系统 I 导航器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43563578/