处理 pmrep 文件 > 使用持久性输入文件
  

使用持久性输入文件

在某些任务中运行 pmrep 时,请使用持久性输入文件指定要处理的存储库对象。 持久性输入文件表示存储库中已存在的对象。 您可以手动或使用 pmrep 创建持久性输入文件。
将持久性输入文件用于以下 pmrep 命令:
持久性输入文件使用以下格式:
encoded ID, foldername, object_name, object_type, object_subtype, version_number, reusable|non-reusable

通过 pmrep 创建持久输入文件

您可以使用 pmrep ExecuteQuery、Validate 或 ListObjectDependencies 命令创建持久输入文件。 这些命令创建的文件包含具有编码 ID 和循环冗余检查 (CRC) 值的对象列表。 它还包含加密的存储库 GID。 该 ID 可标识记录来自哪个存储库。
使用持久输入文件的 pmrep 命令从编码 ID 获取对象信息。 编码 ID 使 pmrep 可以快速处理输入文件。
通过 pmrep 创建持久输入文件时,会在 pmrep 安装目录中创建文件。 您可以指定其他路径。
下文显示了一个持久输入文件示例:
2072670638:57bfc2ff-df64-40fc-9cd4-a15cb489bab8:3538944199885:138608640183285:1376256153425:131072168215:65536142655:0288235:088154:65536122855,EXPORT,M_ITEMS,mapping,none,2
1995857227:57bfc2ff-df64-40fc-9cd4-a15cb489bab8:3538944135065:13867417666804:1376256233835:19660880104:65536271545:0319425:017154:6553644164,EXPORT,M_ITEMS_2,mapping,none,3
1828891977:57bfc2ff-df64-40fc-9cd4-a15cb489bab8:3538944279765:138739712184505:137625613474:65536221345:65536133675:091734:09053:65536156675,EXPORT,M_NIELSEN,mapping,none,1
3267622055:57bfc2ff-df64-40fc-9cd4-a15cb489bab8:353894462954:138805248300075:1376256151365:6553675414:65536174015:0273455:0241435:65536261685,EXPORT,M_OS1,mapping,none,1

示例

您可以使用 ExecuteQuery 命令创建对象的持久输入文件,以在另一 pmrep 命令中进行处理。 例如,您要从存储库导出所有逻辑上删除的对象。 您可以创建名为 find_deleted_objects 的查询。 通过 pmrep 运行查询时,如以下所示,它会在存储库中查找所有删除的对象,并将结果输出到持久输入文件:
ExecuteQuery -q find_deleted_objects -t private -u deletes_workfile
然后,您可以使用 deletes_workfile 作为 ObjectExport 的持久输入文件:
ObjectExport -i deletes_workfile -u exported_del_file
ObjectExport 会将所有引用的对象导出到名为 exported_del_file 的 XML 文件。

手动创建持久性输入文件

如果要对一组无法通过 ExecuteQuery 之类命令加以识别的对象运行 pmrep 命令,可以手动创建输入文件。
创建持久性输入文件时,请遵循以下规则和指导原则:

示例

以下示例显示了手动创建的持久性输入文件:
none,EXPORT,CustTgt,target,none,2
none,EXPORT,S_Orders,session,,2,reusable
none,EXPORT,EXP_CalcTot,transformation,expression,LATEST,reusable
在第一个记录中,CustTgt 表示目标定义。 由于目标不包含子类型,因此请为 object_subtype 参数输入“none”。 由于目标不存在可重复使用或不可重复使用的问题,因此请删除 reusable 参数。 请注意,此记录包含六个参数,而不是七个。
在第二个记录中,S_Orders 表示会话。 由于会话不包含子类型,因此请将该参数留空。
在第三个记录中,您想获取最新版本的转换,因此请为 version_number 参数输入“LATEST”。