【问题标题】:import/export CSV in IBM i (AS400) DB2在 IBM i (AS400) DB2 中导入/导出 CSV
【发布时间】:2015-05-18 17:25:33
【问题描述】:

我正在为即将到来的集成项目做准备,我需要将一些数据导入/导出到/从我们的 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 的等价物是什么?

【问题讨论】:

  • 所以有一个外部合作伙伴会定期将数据放在服务器上,并且计划是让 IBM i 定期轮询该服务器?然后 IBM i 会将这些数据(EDI PO 850?)转换并导入 JDE,可能会运行一些流程并将数据集(PO 856?)返回给合作伙伴?
  • 不,计划是在 IBM i 上通过 SFTP 打开一个 IFS 文件夹。 IBM i 会定期将数据集输出到此文件夹并导入另一个数据集。合作伙伴会定期上传导入和下载导出数据集。
  • 在这两种情况下,您对periodically 的定义是什么?特别是,它是一套预先确定的时间表还是“按需”?
  • 我最初想到的方式是按照预定的时间表进行的,但我对此有所保留。如果您有任何建议,“按需”将是一种更有效的方法和更明智的设计。
  • 确保 FTP 已锁定。很多时候你可以 cd.. 和 bam 你有 root 访问权限。

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


【解决方案1】:

cron 等效项将是作业调度程序。它有两种来自 IBM 的版本,一个包含在每个系统中的基本版本“使用 Job Schedule Entries (WRKJOBSCDE)”和高级 Job Scheduler,“使用 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:

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 嗨,斯科特,感谢您的回复!有什么办法可以安排吗?甚至更好地包含 iseries 机器中的全部功能?
    猜你喜欢
    • 2015-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-03
    • 1970-01-01
    • 1970-01-01
    • 2016-05-10
    • 1970-01-01
    相关资源
    最近更新 更多