

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 在 Pro\$1C 應用程式中轉換 SQL 程式碼 AWS Schema Conversion Tool
<a name="CHAP_Converting.App.ProC"></a>

對於 Oracle 到 PostgreSQL 轉換，您可以使用 AWS Schema Conversion Tool (AWS SCT) 將內嵌的 SQL 程式碼轉換為 Pro\$1C 應用程式。這個特定的 Pro\$1C 應用程式轉換器了解應用程式邏輯。它會收集位於不同應用程式物件中的陳述式，例如函數、參數、本機變數等。

由於此深度分析，與一般轉換器相比，Pro\$1C 應用程式 SQL 程式碼轉換器提供了更好的轉換結果。

## 在 中建立 Pro\$1C 應用程式轉換專案 AWS SCT
<a name="CHAP_Converting.App.ProC.Create"></a>

您只能建立 Pro\$1C 應用程式轉換專案，以將 Oracle 資料庫結構描述轉換為 PostgreSQL 資料庫結構描述。請務必在專案中新增映射規則，其中包含來源 Oracle 結構描述和目標 PostgreSQL 資料庫。如需詳細資訊，請參閱[中的映射資料類型 AWS Schema Conversion Tool](CHAP_Mapping.md)。

您可以在單一專案中新增多個應用程式轉換 AWS SCT 專案。使用下列程序來建立 Pro\$1C 應用程式轉換專案。

**建立 Pro\$1C 應用程式轉換專案**

1. 建立資料庫轉換專案，並新增來源 Oracle 資料庫。如需詳細資訊，請參閱[在 中啟動和管理專案 AWS SCT](CHAP_UserInterface.Project.md)及[在 中將伺服器新增至專案 AWS SCT](CHAP_UserInterface.AddServers.md)。

1. 新增包含來源 Oracle 資料庫和目標 PostgreSQL 資料庫的映射規則。您可以新增目標 PostgreSQL 資料庫，或在映射規則中使用虛擬 PostgreSQL 目標資料庫平台。如需詳細資訊，請參閱[中的映射資料類型 AWS Schema Conversion Tool](CHAP_Mapping.md)及[映射至 中的虛擬目標 AWS Schema Conversion Tool](CHAP_Mapping.VirtualTargets.md)。

1. 在**檢視**功能表中，選擇**主檢視**。

1. 在**應用程式**功能表中，選擇**新的 Pro\$1C 應用程式**。

   **隨即出現建立 Pro\$1C 應用程式轉換專案**對話方塊。  
![\[新的 Pro*C 應用程式轉換專案對話方塊\]](http://docs.aws.amazon.com/zh_tw/SchemaConversionTool/latest/userguide/images/proc-application-new-project.png)

1. 在**名稱**中，輸入 Pro\$1C 應用程式轉換專案的名稱。由於每個資料庫結構描述轉換專案可以有一或多個子應用程式轉換專案，因此如果您新增多個專案，請選擇有意義的名稱。

1. 針對**位置**，輸入應用程式的來源碼位置。

1. 在來源樹狀目錄中，選擇應用程式使用的結構描述。請確定此結構描述是映射規則的一部分。 會以粗體 AWS SCT 強調映射規則一部分的結構描述。

1. 選擇**確定**以建立 Pro\$1C 應用程式轉換專案。

1. 在左側面板的應用程式節點中尋找 Pro\$1C **應用程式**轉換專案。

## 在 中轉換 Pro\$1C 應用程式 SQL 程式碼 AWS SCT
<a name="CHAP_Converting.App.ProC.Convert"></a>

將 Pro\$1C 應用程式新增至 AWS SCT 專案後，請將此應用程式中的 SQL 程式碼轉換為與您的目標資料庫平台相容的格式。使用下列程序來分析和轉換 中內嵌於 Pro\$1C 應用程式的 SQL 程式碼 AWS Schema Conversion Tool。

**轉換 SQL 程式碼**

1. 在左側面板****的應用程式下展開 **Pro\$1C** 節點。

1. 選擇要轉換的應用程式，然後選擇**設定**。

   1. 針對**全域標頭檔案路徑**，輸入應用程式專案使用的標頭檔案路徑。

   1. 選擇**將所有未解析的主機變數解譯為** ，以查看轉換後程式碼中的所有未解析變數。

   1. **從延伸套件中選擇使用固定寬度字串轉換函數**，以在轉換後的 SQL 程式碼中使用延伸套件函數。 AWS SCT 會在您的應用程式專案中包含延伸套件檔案。

   1. 選擇**將匿名 PL/SQL 區塊轉換為獨立 SQL 呼叫或預存函數**，在所有匿名 PL/SQL 區塊的目標資料庫中建立預存程序。 AWS SCT 然後， 會在轉換的應用程式程式碼中包含這些預存程序的執行。

   1. 選擇**使用自訂游標流程**來改善 Oracle 資料庫游標的轉換。

1. 在左側面板中，選擇要轉換的應用程式，然後開啟內容 （按一下滑鼠右鍵） 選單。

1.  選擇 **Convert**. AWS SCT analyzes 您的原始程式碼檔案，判斷應用程式邏輯，並將程式碼中繼資料載入專案。此程式碼中繼資料包括 Pro\$1C 類別、物件、方法、全域變數、介面等。

   在目標資料庫面板中， 會 AWS SCT 建立與來源應用程式專案類似的資料夾結構。您可以在這裡檢閱轉換後的應用程式程式碼。  
![\[要分析的 SQL 程式碼\]](http://docs.aws.amazon.com/zh_tw/SchemaConversionTool/latest/userguide/images/proc-applications-project-analyze.png)

1. 儲存轉換後的應用程式程式碼。如需詳細資訊，請參閱[編輯和儲存轉換後的應用程式程式碼](#CHAP_Converting.App.ProC.Save)。

## 使用 編輯和儲存轉換後的應用程式程式碼 AWS SCT
<a name="CHAP_Converting.App.ProC.Save"></a>

您可以編輯轉換後的 SQL 陳述式 AWS SCT ，並使用 將此編輯過的程式碼嵌入轉換後的 Pro\$1C 應用程式程式碼。使用下列程序來編輯轉換後的 SQL 程式碼。

**編輯轉換後的 SQL 程式碼**

1. 在左側面板中的**應用程式**下展開 **Pro\$1C** 節點。

1. 選擇要轉換的應用程式、開啟內容 （按一下滑鼠右鍵） 選單，然後選擇**轉換**。

1. 在**檢視**功能表上，選擇**評估報告檢視**。

1. 選擇將**陳述式儲存至 CSV**，將 Pro\$1C 應用程式擷取的 SQL 程式碼儲存為 CSV 檔案。

1. 輸入 CSV 檔案名稱以儲存擷取的 SQL 程式碼，然後選擇**儲存**。

1. 編輯解壓縮的 SQL 程式碼。

1. 在**檢視**功能表上，選擇**主檢視**。

1. 在目標資料庫面板中的**應用程式**下展開 **Pro\$1C** 節點。

1. 選擇轉換後的應用程式，開啟內容 （按一下滑鼠右鍵） 選單，然後選擇**從 CSV 匯入陳述**式。

1. 選擇**是**，然後選擇具有已編輯 SQL 程式碼的檔案，然後選擇**開啟**。

AWS SCT 會將轉換後的 SQL 陳述式分成幾個部分，並將其放入來源應用程式程式碼的適當物件。使用下列程序來儲存轉換後的應用程式程式碼。

**儲存轉換後的應用程式程式碼**

1. 在目標資料庫面板中的**應用程式**下展開 **Pro\$1C** 節點。

1. 選擇轉換後的應用程式，然後選擇**儲存**。

1. 輸入資料夾的路徑以儲存轉換後的應用程式碼，然後選擇**選取資料夾**。

## 在 中管理 Pro\$1C 應用程式轉換專案 AWS SCT
<a name="CHAP_Converting.App.ProC.Manage"></a>

您可以新增多個 Pro\$1C 應用程式轉換專案、更新 AWS SCT 專案中的應用程式程式碼，或從 AWS SCT 專案中移除 Pro\$1C 轉換專案。

**新增額外的 Pro\$1C 應用程式轉換專案**

1. 展開左側面板中的**應用程式**節點。

1. 選擇 **Pro\$1C** 節點，然後開啟內容 （按一下滑鼠右鍵） 選單。

1. 選擇 **New application** (新增應用程式)。

1. 輸入建立新 Pro\$1C 應用程式轉換專案所需的資訊。如需詳細資訊，請參閱[建立 Pro\$1C 應用程式轉換專案](#CHAP_Converting.App.ProC.Create)。

在您變更來源應用程式程式碼之後，請將其上傳至 AWS SCT 專案。

**上傳更新的應用程式程式碼**

1. 在左側面板中的**應用程式**下方展開 **Pro\$1C** 節點。

1. 選擇要更新的應用程式，然後開啟內容 （按一下滑鼠右鍵） 選單。

1. 選擇**重新整理**，然後選擇**是**。

   AWS SCT 從來源檔案上傳您的應用程式程式碼，並移除轉換結果。若要保留您在 中所做的程式碼變更 AWS SCT 和轉換結果，請建立新的 Pro\$1C 轉換專案。

**移除 Pro\$1C 應用程式轉換專案**

1. 在左側面板****的應用程式下展開 **Pro\$1C** 節點。

1. 選擇要移除的應用程式，然後開啟內容 （按一下滑鼠右鍵） 選單。

1. 選擇**刪除**，然後選擇**確定**。

## 在 中建立 Pro\$1C 應用程式轉換評估報告 AWS SCT
<a name="CHAP_Converting.App.ProC.AssessmentReport"></a>

*Pro\$1C 應用程式轉換評估報告*提供將 Pro\$1C 應用程式中內嵌的 SQL 程式碼轉換為與目標資料庫相容格式的相關資訊。評估報告提供所有 SQL 執行點和所有原始程式碼檔案的轉換詳細資訊。評估報告也包含 AWS SCT 無法轉換之 SQL 程式碼的動作項目。

使用下列程序來建立 Pro\$1C 應用程式轉換評估報告。

**建立 Pro\$1C 應用程式轉換評估報告**

1. 在左側面板中的**應用程式**下展開 **Pro\$1C** 節點。

1. 選擇要轉換的應用程式，然後開啟內容 （按一下滑鼠右鍵） 選單。

1. 選擇**轉換**。

1. 在**檢視**功能表上，選擇**評估報告檢視**。

1. 檢閱 **Summary** (摘要) 索引標籤。

   摘要****索引標籤如下所示，顯示 Pro\$1C 應用程式評估報告中的執行摘要資訊。它會顯示所有 SQL 執行點和所有原始程式碼檔案的轉換結果。  
![\[Pro*C 應用程式評估報告摘要索引標籤\]](http://docs.aws.amazon.com/zh_tw/SchemaConversionTool/latest/userguide/images/proc-applications-summary.png)

1. 選擇將**陳述式儲存至 CSV**，將 Pro\$1C 應用程式擷取的 SQL 程式碼儲存為逗號分隔值 (CSV) 檔案。

1. （選用） 將報告的本機副本儲存為 PDF 檔案或逗號分隔值 (CSV) 檔案：
   + 選擇右上角**的儲存至 PDF**，將報告儲存為 PDF 檔案。

      PDF 檔案包含執行摘要、動作項目和應用程式轉換的建議。
   + 選擇右上角**的儲存至 CSV**，將報告儲存為 CSV 檔案。

     CSV 檔案包含動作項目、建議的動作，以及轉換 SQL 程式碼所需的手動工作預估複雜性。