保存和恢复假脱机文件

可使用此处描述的任何方法来保存和复原假脱机文件。

表 1. 保存和恢复假脱机文件
保存方法 恢复方法 保留的假脱机文件属性
SAVLIB、SAVOBJ、SAVCHGOBJ、SAVRSTLIB、SAVRSTOBJ 和 SAVRSTCHG 命令 RSTLIB、RSTOBJ、SAVRSTLIB、SAVRSTOBJ 和 SAVRSTCHG 命令 数据和所有属性
QSRSAVO API QSRRSTO API 数据和所有属性
保存菜单选项 21-23 复原菜单选项 21-23 数据和所有属性
QSPOPNSPQSPGETSPQUSRSPLA API QSPCRTSPQSPPUTSPQSPCLOSP API 数据,但并非所有属性1
CPYSPLF 和 SAVOBJ 命令 CPYF 命令 仅文本数据1

1 对于 IBM® i V5.4 之前的发行版,必须使用其中一个方法来保存和复原假脱机文件。这些方法不会保留所有假脱机文件属性。

如果使用 SAVLIB 或 SAVOBJ 命令、SAVE 菜单或 QSRSAVO API 来保存输出队列,那么可选择保存其所有假脱机文件。可通过对“假脱机文件数据”(SPLFDTA) 命令参数、菜单提示或 API 关键字指定 *ALL 来完成此操作。

如果使用 SAVCHGOBJ 命令来保存输出队列,那么可选择保存在引用日期和时间之后创建的新假脱机文件。可通过对“假脱机文件数据”(SPLFDTA) 命令参数指定 *NEW 来完成此操作。

使用恢复命令、菜单或 QSRRSTO API 恢复输出队列时,可以选择恢复系统上已不存在的任何已保存的假脱机文件。可通过对 SPLFDTA 参数、提示或关键字指定 *NEW 来完成此操作。

借助 QSRSAVO 和 QSRRSTO API,还可通过使用一组选择标准来保存或恢复假脱机文件。如果通过使用选择标准的 QSRSAVO API 和 *SPLF 特殊库值来保存假脱机文件,那么必须将 QSRRSTO API 和 *SPLF 特殊库值一起使用才能恢复该假脱机文件。

QSRSAVO 和 QSRRSTO API 还允许您更改假脱机文件的到期日期。QSRRSTO API 还允许您将假脱机文件复原至另一输出队列,并允许您创建现有假脱机文件的另一副本。

本示例描述了如何保存假脱机文件:
  1. 创建输出队列以存储假脱机文件。
    CRTOUTQ  OUTQ(lib-name/que-name) 
  2. 使用“使用假脱机文件”(WRKSPLF)命令列出假脱机文件。
  3. 使用选项 2 -“更改假脱机文件属性”(CHGSPLFA)命令将要保存的假脱机文件移至创建的输出队列。
  4. 使用“保存对象”(SAVOBJ)命令保存假脱机文件数据。
    SAVOBJ  OBJ(que-name) LIB(lib-name) DEV(dev-name) OBJTYPE(*OUTQ) SPLFDTA(*ALL)
本示例描述了如何恢复假脱机文件:
  1. 恢复已不在系统上的假脱机文件。
    RSTOBJ  OBJ(que-name) SAVLIB(lib-name) DEV(dev-name) 
            OBJTYPE(*OUTQ) SPLFDTA(*NEW)

使用假脱机文件 API

如果源系统或目标系统早于 V5R4,那么可以将假脱机文件 API 作为一种保存和恢复假脱机文件的间接方法来使用。此方法保留假脱机文件数据流,但不保留所有属性。

要保存假脱机文件:
  • 使用“打开假脱机文件”(QSPOPNSP)API 打开假脱机文件。
  • 使用“获取假脱机文件数据”(QSPGETSP)API 检索假脱机文件数据。
  • 使用“用户假脱机文件属性”(QUSRSPLA)API 检索假脱机文件属性。
要恢复假脱机文件:
  1. 这些假脱机文件是使用“创建假脱机文件”(QSPCRTSP) API 创建的。
  2. 使用“放置假脱机文件数据”(QSPPUTSP)API 将假脱机文件数据写入新的假脱机文件。
  3. 使用“关闭假脱机文件”(QSPCLOSP)API 关闭假脱机文件。

可以在 QUSRTOOL 库的 QATTINFO 文件的 TSRINFO 成员中找到使用这些 API 的示例和工具。

将假脱机文件复制到数据库文件

如果源系统或目标系统早于 V5R4,那么可以将在假脱机文件与数据库文件之间复制数据作为一种保存和恢复假脱机文件的间接方法来使用。此方法只复制文本数据,而不复制诸如图形和可变字体之类的高级功能属性。此方法不能提供保存假脱机文件的完整解决方案。

“复制假脱机文件”(CPYSPLF)命令将假脱机文件数据保存到数据库文件。“复制文件”(CPYF)命令可以将数据从数据库文件复制到假脱机文件。