在IBM i(AS400)DB2中导入/导出CSV

时间:2015-05-18 17:25:34

标签: php ibm-midrange zend-server db2-400 jdedwards

我正准备即将进行的集成项目,我需要将一些数据导入/导出到ERP /文件系统中。我们在IBM iSeries / AS400 V6R1机器上运行JD Edwards World 9.2。

我们正在整合的软件要求我们使用按计划导出/导入的CSV文件进行集成,并通过SFTP访问。

我安装了zend服务器(apache),并且很高兴使用Apache,PHP和SQL,但几乎没有CL和RPG编程知识(但愿意学习)。我们也没有WebQuery。导出的文件需要连接和过滤表之间的数据,因此需要SQL或类似的,所以不是我期望的直接CPYTOIMPF。

作为一个非常粗略的大纲,我想我可以写一个快速的php文件,运行一个SQL查询来解析结果到IFS中的csv,反之亦然,由一个cron&#d; wget(或ibm)加载当量)。

在开始之前,我想看看是否有人可以推荐更好的方法

您会推荐哪些策略和/或链接?什么是cron和wget等价物?

2 个答案:

答案 0 :(得分:4)

cron等价物将是作业调度程序。它有两种来自IBM的版本,每个系统都包含一个基本版本“使用作业调度条目(WRKJOBSCDE)”和高级作业调度程序,“使用Job Scheduler处理作业(WRKJOBJS)”

您的系统上可能还有一个或多个第三方调度程序。

操作系统中没有内置的wget等效项。有各种第三方实用程序,甚至一些免费和/或开源实用程序。您也可以在PASE中安装和使用AIX版本的wget http://yips.idevcloud.com/wiki/index.php/PASE/PackageManager

现在就进口/出口而言。 IBM当然提供CPYTOIMPF和CPYFRMIMPF命令。但是对于错误处理的性能和灵活性,许多人更喜欢使用RPG自己动手。 PHP将是您的替代方案。

还有几点......

虽然CPYTOIMPF确实不支持查询。它确实支持SQL视图中的应对。因此,只要您可以构建一个提供您所提到的“加入和过滤”的视图,那么CPYTOIMPF就可以工作。

最后,IBM确实包含了一个“运行SQL语句”(RUNSQLSTM)命令,该命令将执行源文件成员中包含的SQL语句;包括INSERT INTO somefile (SELECT ...),以便您可以加载物理表,然后可以使用CPYTOIMPF。此外,在该源成员中,您可以通过在CL:

前添加前缀来包含CL命令

答案 1 :(得分:3)

System I Navigator具有'运行SQL脚本'工具。此工具有一个选项可以保存结果,其中一个选项是csv文件。