如何在AS/400系统中以编程方式读取带有“SH.”前缀的文件?

2024-09-28 18:52:59 发布

您现在位置:Python中文网/ 问答频道 /正文

到目前为止,我一直在学习AS/400和IBMi系列,不幸的是,我在这个小企业环境中的帮助非常有限——也就是我是IT部门。AS/400系统和我以前用过的任何系统都不一样。在我看来这是相当模糊的。在

现在,我工作的公司使用一个食品配送应用程序在AS/400上输入订单、发票、查询库存、维护库存等。通过食品分发应用程序,可以使用前缀为“SH”的文件创建自定义查询。例如,文件“SH.项目“退回我们仓库中的库存物品。在advancedsales菜单中输入QRY,它允许您继续使用这些文件创建查询。在

我希望能够直接读取这些SH文件,而不是使用fooddistribution应用程序进行查询。目前,我使用sqlsquirrell(DB2)来读取前缀为非'SH'的模式/表,但是我当然不能使用.SH文件。可以使用DB2查询用户定义的查询,但不能查询“SH”文件。数据库名为QS36F。文件和用户定义的查询可以通过ftp在文件夹server_root/QS36F中找到

如何使用编程语言读取.SH文件所提取的信息?我选择的语言是python,但是如果有伪代码或建议,可以让它更加无缝,我将不胜感激。最终目标是使用AS/400信息来更新其他数据库系统。在

截图: 食品配送菜单: enter image description here 正在为创建查询SH.项目: enter image description here SH.项目报告: enter image description here 服务器根目录/QS36F的FTP列表: enter image description here


Tags: 文件项目用户信息应用程序食品定义系统
2条回答

我不熟悉sqlsquirrell,但不清楚为什么不能读取前缀为“SH”的文件。在

一种可能是“.”运算符是使用SQL命名时库(架构)和文件(表)名称之间的默认分隔符。在

请尝试在名称两边加引号,例如:

SELECT * FROM QS36F."SH.ITEM"

另外,如果需要访问特定成员(分区),则需要创建一个别名来查询:

^{pr2}$

由于使用了QS36F库,也可能这些不是“外部描述的文件”。这意味着这些表可能只有一个大字段来保存所有单独的字段数据,并且它在程序本身中被分开。在


DBVisualizer是一个伟大的第三方SQL工具,可以访问许多数据库。

QS36F是用来存放S/36仿真程序使用的所有文件的库,因此它们可能是程序定义的。使用SH.这样的前缀是在S/36上对类似文件进行分组的一种方法,因为文件位于任何库之外。在

在S/36中有一个查询产品。我对它几乎一无所知,但我敢打赌,你的应用程序的查询功能是建立在它之上的。在

相关问题 更多 >