import/export IBM i (AS400) DB2 中的 CSV
import/export CSV in IBM i (AS400) DB2
我正在为一个即将到来的集成项目做准备,我需要 import/export 一些数据 to/from 我们的 ERP 到文件系统中。我们在 IBM iSeries/AS400 V6R1 机器上 运行 JD Edwards World 9.2。
我们要集成的软件要求我们使用 CSV 文件进行集成,这些文件按计划 exported/imported 并可通过 SFTP 访问。
我安装了 zend 服务器 (apache) 并且很高兴使用 Apache,PHP 和 SQL 但对 CL 和 RPG 编程的了解几乎为零(但愿意学习)。我们也没有 WebQuery。导出的文件需要连接和过滤表之间的数据,因此需要 SQL 或类似的,所以我期望的不是直接的 CPYTOIMPF。
作为一个非常粗略的大纲,我想我可以编写一个快速的 php 文件,该文件将 运行 一个 sql 查询将结果解析为 IFS 中的 csv,副反之亦然,由 cron 的 wget(或 ibm 等价物)加载。
在开始之前,我想看看是否有人可以推荐更好的方法
您会推荐哪些策略 and/or 链接? cron 和 wget 的等价物是什么?
System I Navigator 具有 'Run SQL Scripts' 工具。此工具有一个用于保存结果的选项,其中一个选项是保存到 csv 文件。
cron 等效项是作业调度程序。它有两种来自 IBM 的版本,每个系统都包含基本版本 "Work with Job Schedule Entries (WRKJOBSCDE)" 和 Advanced Job Scheduler,"Work with Jobs using Job Scheduler (WRKJOBJS)"
您的系统上可能还有一个或多个第三方调度程序。
OS 中没有内置 wget 等价物。有各种第三方实用程序,甚至还有一些免费的 and/or 开源实用程序。您也可以想象在 PASE 中安装和使用 wget 的 AIX 版本。
http://yips.idevcloud.com/wiki/index.php/PASE/PackageManager
现在就导入/导出而言。 IBM 当然提供了 CPYTOIMPF 和 CPYFRMIMPF 命令。但是为了性能和错误处理的灵活性,许多人更喜欢使用 RPG 来滚动他们自己的错误处理。 PHP 将是您的替代选择。
还有两点...
虽然 CPYTOIMPF 确实不支持查询。它确实支持从 SQL 视图进行处理。因此,只要您可以构建一个提供您提到的 "joining and filtering" 的视图,那么 CPYTOIMPF 就可以工作。
最后,IBM 确实包含一个 "Run SQL Statements" (运行SQLSTM) 命令,该命令将执行包含在源文件成员中的 SQL 语句;包括 INSERT INTO somefile (SELECT ...)
这样你就可以加载一个物理 table 然后你可以在上面使用 CPYTOIMPF。此外,在该源成员中,您可以通过在 CL 命令前加上前缀 CL:
来包含它们
我正在为一个即将到来的集成项目做准备,我需要 import/export 一些数据 to/from 我们的 ERP 到文件系统中。我们在 IBM iSeries/AS400 V6R1 机器上 运行 JD Edwards World 9.2。
我们要集成的软件要求我们使用 CSV 文件进行集成,这些文件按计划 exported/imported 并可通过 SFTP 访问。
我安装了 zend 服务器 (apache) 并且很高兴使用 Apache,PHP 和 SQL 但对 CL 和 RPG 编程的了解几乎为零(但愿意学习)。我们也没有 WebQuery。导出的文件需要连接和过滤表之间的数据,因此需要 SQL 或类似的,所以我期望的不是直接的 CPYTOIMPF。
作为一个非常粗略的大纲,我想我可以编写一个快速的 php 文件,该文件将 运行 一个 sql 查询将结果解析为 IFS 中的 csv,副反之亦然,由 cron 的 wget(或 ibm 等价物)加载。
在开始之前,我想看看是否有人可以推荐更好的方法
您会推荐哪些策略 and/or 链接? cron 和 wget 的等价物是什么?
System I Navigator 具有 'Run SQL Scripts' 工具。此工具有一个用于保存结果的选项,其中一个选项是保存到 csv 文件。
cron 等效项是作业调度程序。它有两种来自 IBM 的版本,每个系统都包含基本版本 "Work with Job Schedule Entries (WRKJOBSCDE)" 和 Advanced Job Scheduler,"Work with Jobs using Job Scheduler (WRKJOBJS)"
您的系统上可能还有一个或多个第三方调度程序。
OS 中没有内置 wget 等价物。有各种第三方实用程序,甚至还有一些免费的 and/or 开源实用程序。您也可以想象在 PASE 中安装和使用 wget 的 AIX 版本。
http://yips.idevcloud.com/wiki/index.php/PASE/PackageManager
现在就导入/导出而言。 IBM 当然提供了 CPYTOIMPF 和 CPYFRMIMPF 命令。但是为了性能和错误处理的灵活性,许多人更喜欢使用 RPG 来滚动他们自己的错误处理。 PHP 将是您的替代选择。
还有两点...
虽然 CPYTOIMPF 确实不支持查询。它确实支持从 SQL 视图进行处理。因此,只要您可以构建一个提供您提到的 "joining and filtering" 的视图,那么 CPYTOIMPF 就可以工作。
最后,IBM 确实包含一个 "Run SQL Statements" (运行SQLSTM) 命令,该命令将执行包含在源文件成员中的 SQL 语句;包括 INSERT INTO somefile (SELECT ...)
这样你就可以加载一个物理 table 然后你可以在上面使用 CPYTOIMPF。此外,在该源成员中,您可以通过在 CL 命令前加上前缀 CL: