在导出的工作空间项(查询、图表、报告和报告格式)以及表单文件(使用原始 Rational® ClearQuest® Designer 创建)中添加和除去数据代码页头信息。
摘要
- cqperl cpheader.pl -a [ file-path |
[ directory-path { regular-expression }
] ] code-page
- cqperl cpheader.pl -s [ file-path |
[ directory-path { regular-expression }
] ]
cpheader 命令位于 Rational ClearQuest 安装目录中。
描述
从 V7.1.1.0 开始,IBM® Rational ClearQuest 会为已导出的工作空间项和表单文件(通过使用原始 ClearQuest Designer 创建)添加头信息。
头包含有关从中导出这些文件的 ClearQuest 数据库的数据代码页的信息。头确保导出的文件能正确导入另一个可能使用不同代码页的 ClearQuest 数据库。
在 ClearQuest V7.1.1.0 之前的版本中,导出的工作空间项和表单文件没有代码页头。
如果您混合使用 V7.1.1.0 之前和之后版本的 ClearQuest 客户机,并且希望通过使用这些客户机导出或导入工作空间项,那么需要使用 cpheader 命令来添加和除去代码页头,以启用跨版本的客户机兼容性。这样会允许将导出的文件转换为适当的格式,以便可由不同于导出文件的 ClearQuest 客户机版本的客户机将其导入。
通过使用 cpheader 命令,可以将工作空间项和表单文件(使用原始 ClearQuest Designer 创建)迁移到使用 UTF-8(8 位 Unicode 转换格式)代码页的 ClearQuest 数据库中。通过使用该命令,可以防止将工作空间项和表单文件导入到与所导出文件的代码页不匹配的 ClearQuest 数据库,从而防止发生数据损坏。UTF-8 支持来自所有代码页的字符,因此,您可将所有代码页导入到支持 UTF-8 代码页的数据库。
注意: ClearQuest Eclipse Designer 将表单导出为 XML 格式,这种格式包含代码页信息。请勿对从 ClearQuest Eclipse Designer 导出的表单使用 cpheader 命令。
选项和自变量
- -a
- 将数据代码页头添加到指定目录及其子目录中的一个或多个指定文件中。
- -s
- 从指定目录及其子目录中的一个或多个指定文件中除去数据代码页头。
- file-path
- 要添加或除去代码页头的文件的路径规范。
- directory-path { regular-expression }
- 目录的路径规范,该目录包含要添加或除去代码页头的文件。如果您指定 regular-expression,那么只会针对目录及其子目录中名称与 regular-expression 匹配的文件添加或除去代码页头。
如果不指定正则表达式,那么会针对目录及其子目录中的所有文件添加或除去代码页头。
- code-page
- Rational ClearQuest 数据代码页。
用例
- 用例 1:将工作空间项和原始 Designer 表单文件从 ClearQuest V7.1.1 之前版本的数据库迁移至 ClearQuest 7.1.1 UTF-8 (65001) 数据库。
首选解决方案:
利用 ClearQuest 7.1.1 客户机将工作空间项和原始 Designer 表单文件从 ClearQuest V7.1.1 之前版本的数据库导出,然后将这些工作空间项和表单文件导入 UTF-8 数据库。采用该解决方案,ClearQuest 会自动处理数据代码页头信息,将采用不同代码页的文件转换为 UTF-8 格式。
备选解决方案:
- 确定要从中导出工作空间项和原始 Designer 表单文件的 ClearQuest 数据库的数据代码页。
- 利用 ClearQuest V7.1.1 之前版本的客户机或命令 bkt_tool,从 ClearQuest V7.1.1 之前版本的数据库导出工作空间项。
- 利用 V7.1.1 之前版本的原始 Designer,从 ClearQuest V7.1.1 之前版本的数据库导出表单文件。
- 利用 ClearQuest 7.1.1 中引入的命令 cpheader,将 UTF-8 (65001) 代码页头添加至刚才在步骤 2 和 3 中导出的文件。
- 利用 ClearQuest 7.1.1 客户机将工作空间项和表单文件导入 UTF-8 数据库。
示例:
假定在一台计算机上安装了代码页为 932 的 ClearQuest 7.0 数据库。在另一台计算机上,安装了 ClearQuest 7.1.1,并创建了数据代码页为 65001 (UTF-8) 的 ClearQuest 数据库。您的目的是在不事先升级 ClearQuest 7.0 数据库的情况下,将工作空间项和表单文件从 ClearQuest 7.0 数据库移至 ClearQuest 7.1.1 UTF-8 数据库。
示例解决方案:
- 如果仅导出部分工作空间项,那么请使用 ClearQuest 7.0 客户机。要导出所有工作空间项,请使用 bkt_tool 命令。要导出原始 Designer 表单文件,请使用原始 Designer。
- 利用 cpheader 命令向导出的所有文件添加 932 代码页头。
- 将已导出的带有 932 代码页头的文件复制到正在运行 ClearQuest 7.1.1 的计算机。
- 利用 ClearQuest 7.1.1 客户机或 bkt_tool 命令将工作空间项导入 ClearQuest 7.1.1 UTF-8 数据库。利用原始 Designer 导入表单文件。
- 用例 2:将工作空间项和原始 Designer 表单文件从一个 ClearQuest V7.1.1 之前版本的数据库迁移至另一个 ClearQuest V7.1.1 之前版本的数据库,方法是使用 V7.1.1 客户机导出这些文件,然后使用 V7.1.1 之前版本的客户机和原始 Designer 导入这些文件。
解决方案:
必须确保导出源数据库与导入目标数据库的代码页相同。
- 利用 V7.1.1 客户机导出工作空间项和表单文件。
- 利用 cpheader 命令除去已导出文件的代码页头。
- 利用 V7.1.1 之前版本的客户机或 bkt_tool 命令将工作空间项导入另一个数据库。利用原始 Designer 将表单文件导入至另一个数据库。
示例
- 将针对西欧数据代码页 1252 的头添加到文件 c:/all_defects.qry 中:
cqperl cpheader.pl -a c:/all_defects.qry 1252
- 将针对简体中文数据代码页 936 的头添加到目录 c:/queries 及其子目录中的所有文件:
cqperl cpheader.pl -a c:/queries 936
- 将针对简体中文数据代码页 936 的头添加到目录 c:/queries 及其子目录中与表达式 .cfg$ 匹配的所有文件。
cqperl cpheader.pl -a c:/queries .cfg$ 936
- 从文件 c:/alldefect.qry 中除去代码页头:
cqperl cpheader.pl -s c:/alldefect.qry
- 从目录 c:/qrydir 及其子目录的所有文件中除去代码页头:
cqperl cpheader.pl -s c:/qrydir