使用 AWS SCT 转换 Pro*C 应用程序中的 SQL 代码 - AWS Schema Conversion Tool

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 AWS SCT 转换 Pro*C 应用程序中的 SQL 代码

对于 Oracle 到 PostgreSQL 的转换,可以使用 AWS Schema Conversion Tool(AWS SCT)转换嵌入到 Pro*C 应用程序中的 SQL 代码。这个特定的 Pro*C 应用程序转换器了解应用程序逻辑。它收集位于不同应用程序对象中的语句,例如函数、参数、局部变量等。

由于这种深入的分析,与通用转换器相比,Pro*C 应用程序 SQL 代码转换器的转换结果更好。

在 AWS SCT 中创建 Pro*C 应用程序转换项目

您可以仅创建 Pro*C 应用程序转换项目,以便将 Oracle 数据库架构转换为 PostgreSQL 数据库架构。请务必在项目中添加包含源 Oracle 架构和目标 PostgreSQL 数据库的映射规则。有关更多信息,请参阅在 AWS SCT 中创建映射规则

您可以在单个 AWS SCT 项目中添加多个应用程序转换项目。使用以下过程创建 Pro*C 应用程序转换项目。

创建 Pro*C 应用程序转换项目
  1. 创建数据库转换项目,然后添加源 Oracle 数据库。有关更多信息,请参阅 创建 AWS SCT 项目向 AWS SCT 项目添加数据库服务器

  2. 添加包含源 Oracle 数据库和目标 PostgreSQL 数据库的映射规则。您可以添加目标 PostgreSQL 数据库,也可以在映射规则中使用虚拟的 PostgreSQL 目标数据库平台。有关更多信息,请参阅 在 AWS SCT 中创建映射规则使用虚拟目标

  3. 视图菜单上,选择主视图

  4. 应用程序菜单上,选择新建 Pro*C 应用程序

    随即出现创建 Pro*C 应用程序转换项目对话框。

    “新 Pro*C 应用程序转换项目”对话框
  5. 对于名称,输入 Pro*C 应用程序转换项目名称。每个数据库架构转换项目都可以有一个或多个子应用程序转换项目,因此如果您添加多个项目的话,请选择一个有意义的名称。

  6. 对于位置,输入您的应用程序源代码的位置。

  7. 在源树状图中,选择应用程序所用的架构。确保此架构是映射规则的一部分。AWS SCT 以粗体突出显示作为映射规则一部分的架构。

  8. 选择确认以创建 Pro*C 应用程序转换项目。

  9. 在左侧面板的应用程序 节点中找到您的 Pro*C 应用程序转换项目。

在 AWS SCT 中转换 Pro*C 应用程序 SQL 代码

将 Pro*C 应用程序添加到 AWS SCT 项目后,将该应用程序中的 SQL 代码转换为与目标数据库平台兼容的格式。按照以下过程在 AWS Schema Conversion Tool 中分析和转换中嵌入 Pro*C 应用程序中的 SQL 代码。

转换 SQL 代码
  1. 展开左侧面板中应用程序下的 Pro*C 节点。

  2. 选择要转换的应用程序,然后选择设置

    1. 全局标头文件路径中,输入应用程序项目使用的标头文件路径。

    2. 选择将所有未解析的主机变量解释为,以查看转换后的代码中所有未解析的变量。

    3. 选择使用扩展包中的固定宽度的字符串转换函数,以便在转换后的 SQL 代码中使用扩展包函数。 AWS SCT 在应用程序项目中包含扩展包文件。

    4. 选择将匿名 PL/SQL 块转换为独立的 SQL 调用或存储函数,在目标数据库中为所有匿名 PL/SQL 块创建存储过程。然后,AWS SCT 将这些存储过程的运行包括在转换后的应用程序代码中。

    5. 选择使用自定义游标流可改进 Oracle 数据库游标的转换。

  3. 在左侧面板中,选择要转换的应用程序,然后打开上下文(右键单击)菜单。

  4. 选择转换。AWS SCT 分析源代码文件,确定应用程序逻辑,并将代码元数据加载到项目中。此代码元数据包括 Pro*C 类、对象、方法、全局变量、接口等。

    在目标数据库面板中,AWS SCT 创建与源应用程序项目相似的文件夹结构。在这里,您可以查看转换后的应用程序代码。

    要分析的 SQL 代码
  5. 保存转换后的应用程序代码。有关更多信息,请参阅编辑和保存转换后的 SQL 代码

使用 AWS SCT 编辑和保存转换后的 SQL 代码

您可以编辑转换后的 SQL 语句,并使用 AWS SCT 将编辑后的代码嵌入到转换后的 Pro*C 应用程序代码中。您可使用以下过程编辑转换后的 SQL 代码。

编辑转换后的 SQL 代码
  1. 展开左侧面板中应用程序下的 Pro*C 节点。

  2. 选择要转换的应用程序,打开上下文(右键单击)菜单,然后选择转换

  3. 视图菜单上,选择评估报告视图

  4. 选择将语句保存为 CSV,将从 Pro*C 应用程序中提取的 SQL 代码保存为 CSV 文件。

  5. 输入 CSV 文件的名称以保存提取的 SQL 代码,然后选择保存

  6. 编辑提取的 SQL 代码。

  7. 视图菜单上,选择主视图

  8. 展开目标数据库面板中应用程序下的 Pro*C 节点。

  9. 选择转换后的应用程序,打开上下文(右键单击)菜单,然后选择从 CSV 导入语句

  10. 选择,然后选择包含已编辑的 SQL 代码的文件,然后选择打开

AWS SCT 将转换后的 SQL 语句分成多个部分,然后将其放入源应用程序代码的相应对象中。使用以下过程保存转换后的应用程序代码。

保存转换后的应用程序代码
  1. 展开目标数据库面板中应用程序下的 Pro*C 节点。

  2. 选择转换后的应用程序,然后选择保存

  3. 输入保存转换后的应用程序代码的文件夹路径,然后选择选择文件夹

在 AWS SCT 中管理 Pro*C 应用程序转换项目

您可以添加多个 Pro*C 应用程序转换项目、更新 AWS SCT 项目中的应用程序代码或从 AWS SCT 项目中移除 Pro*C 转换项目。

添加其他 Pro*C 应用程序转换项目
  1. 展开左侧面板中的应用程序节点。

  2. 选择 Pro*C 节点,然后打开上下文(右键单击)菜单。

  3. 选择 New application(新建应用程序)。

  4. 输入创建新的 Pro*C 应用程序转换项目所需的信息。有关更多信息,请参阅创建 Pro*C 应用程序转换项目

更改源应用程序代码后,将其上传到 AWS SCT 项目中。

上传更新的应用程序代码
  1. 展开左侧面板中应用程序下的 Pro*C 节点。

  2. 选择要更新的应用程序,然后打开上下文(右键单击)菜单。

  3. 选择刷新,然后选择

    AWS SCT 从源文件上传您的应用程序代码并删除转换结果。要保留您在 AWS SCT 中进行的代码更改和转换结果,请创建一个新的 Pro*C 转换项目。

移除 Pro*C 应用程序转换项目
  1. 展开左侧面板中应用程序下的 Pro*C 节点。

  2. 选择要删除的应用程序,然后打开上下文(右键单击)菜单。

  3. 选择删除,然后选择确定

在 AWS SCT 中创建 Pro*C 应用程序转换评估报告

Pro*C 应用程序转换评估报告提供了有关将 Pro*C 应用程序中嵌入的 SQL 代码转换为与目标数据库兼容的格式的信息。评估报告提供了所有 SQL 执行点和所有源代码文件转换的详细信息。评估报告还包括针对 AWS SCT 无法转换的 SQL 代码的操作项。

使用以下过程创建 Pro*C 应用程序转换评估报告。

创建 Pro*C 应用程序转换评估报告
  1. 展开左侧面板中应用程序下的 Pro*C 节点。

  2. 选择要转换的应用程序,然后打开上下文(右键单击)菜单。

  3. 选择转换

  4. 视图菜单上,选择评估报告视图

  5. 查看 Summary 选项卡。

    如下所示的摘要选项卡显示了 Pro*C 应用程序评估报告中的执行摘要信息。它显示所有 SQL 执行点和所有源代码文件的转换结果。

    “Pro*C 应用程序评估报告摘要”选项卡
  6. 选择将语句保存到 CSV,将从 Pro*C 应用程序中提取的 SQL 代码保存为逗号分隔值(CSV)文件。

  7. (可选)将报告的本地副本另存为 PDF 文件或逗号分隔值(CSV)文件。

    • 选择右上角的保存为 PDF,将报告另存为 PDF 文件。

      PDF 文件包含应用程序转换的执行摘要、操作项和建议。

    • 选择右上角的保存为 CSV,将报告另存为 CSV 文件。

      CSV 文件包含操作项、推荐的操作以及转换 SQL 代码所需的估计人工操作的复杂性。