【问题标题】:AS400 files - convert PF and LF to SQLAS400 文件 - 将 PF 和 LF 转换为 SQL
【发布时间】:2016-07-28 21:11:33
【问题描述】:

我在 IBM 环境中工作,特别是使用 AS400 机器和 DB2 数据库。
我的下一个任务是将所有可能的文件从 PF 和 LF 转换为 SQL(例如,CREATE TABLE... 和 CREATE VIEW...)。

有没有我做不到的情况?
我知道对于多记录格式文件你不能,是真的吗?

【问题讨论】:

  • FWiW 如果从 DDS 到 SQL 进行这种更改没有特定的已知价值,那么这样做将是为了更改而更改;没有特定目的而引入变更比没有进行/引入变更更有可能遇到问题。有些人可能会对这种盲目改变的好处大肆宣扬,但与这些蛇油推销员不同的是,还有其他人更了解愚蠢——如果只是从经验来看的话。

标签: file db2 ibm-midrange rpgle rpg


【解决方案1】:

使用 PC 上的 System i Navigator,连接到您的服务器并深入了解数据库和架构。单击表或视图以列出(可能是所有)该库中的 PF 或 LF。然后,右键单击选择并选择“生成 SQL”。我建议选择生成到“运行 SQL 脚本”中。

结果将是一个 SQL 脚本,其中包含所有选定对象的 CREATE TABLE 或 CREATE VIEW 语句。大多数相关的 LABEL 语句也将包含在列属性中。您可以将脚本保存到 PC 上的 .SQL 文件或网络共享中。我通常复制/粘贴脚本而不是保存它,但您需要进行试验以了解在您的情况下如何生成行尾(CR 和 LF)。

请务必查看(并可能测试)各种选项。有些可能更适合您的最终目标。

至于多格式 LF,我认为自从 SQL 完全可用以来,我还没有看到它们在我使用过的任何系统上使用过。由于没有好的 SQL 等价物,因此不太可能有任何自动化方法。也许有人知道一个模糊的可能性。

如果您的问题涉及 System/36 环境,请编辑您的问题以表明这一点。可能需要大量额外的 cmets。

【讨论】:

【解决方案2】:

是的,在某些情况下文件无法“转换为 SQL”。
多格式逻辑就是这样一种情况。 程序描述的物理是另一个。 可能还有其他 API 无法生成 DDL。这听起来好像您正在用其他东西替换 IBM i。请注意,DB2 for i 与 DB2 LUW 有点不同,与 MS SQL Server 或 MySQL 完全不同。需要进行大量测试以确保数据符合要求。

【讨论】:

    【解决方案3】:

    是的,一种情况是文件有多个成员。任何最大成员大于 1 的 pf 都会导致问题。您可以使用 dspfd 命令创建包含多个成员的所有 PF 列表。

    dspfd file(*all/*allusr) type(*mbr) output(*outfile) outfile(mylib/myfile)
    

    在 outfile 中搜索 max members > 1.

    here 了解更多信息,我们在我工作的地方称之为 Cruikshanking

    【讨论】:

    • 多成员 PF 几乎可以直接转换为 SQL 表,尽管可能需要进行一些小的编程更改以及添加一两列来标识成员数据。此外,对于资金充足的站点,DB2 Multisystem 可能会将成员转换为分区。
    • @user2338816 绝对可以添加一列更改键以保持 GIGO 系统到位。然而,在 V7.2 中,移植到 DDL 表是一种人力浪费。 powerwire.eu/…
    • 确实如此,随着 SQE 的发展,那些仍然依赖 Query/400 或 OPNQRYF 等的人将会看到缓解。不过,不确定它与这个问题有什么关系。转换为 DDL 带来的优势远远超出了这两个有望消失的领域。
    猜你喜欢
    • 2011-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多