AS400文件 - 将PF和LF转换为SQL

时间:2016-07-28 21:11:33

标签: file db2 ibm-midrange rpgle rpg

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

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

3 个答案:

答案 0 :(得分:8)

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

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

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

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

如果您的问题涉及System / 36环境,请编辑您的问题以表明如此。可能需要许多其他评论。

答案 1 :(得分:3)

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

答案 2 :(得分:1)

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

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

在outfile中搜索max members> 1。

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