在 Pro*C 應用SQL程序中轉換代碼 AWS Schema Conversion Tool - AWS Schema Conversion Tool

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

在 Pro*C 應用SQL程序中轉換代碼 AWS Schema Conversion Tool

對於 Oracle 到 Postgre 的轉SQL換,您可以使用 AWS Schema Conversion Tool (AWS SCT) 來轉換嵌入到 Pro*C 應用程式中的SQL程式碼。這個特定的 Pro*C 應用程序轉換器了解應用程序邏輯。它會收集位於不同應用程式物件中的陳述式,例如函數、參數、區域變數等。

由於這種深入的分析,Pro*C 應用程序SQL代碼轉換器提供了比通用轉換器更好的轉換結果。

在中建立 Pro*C 應用程式轉換專案 AWS SCT

您只能建立 Pro*C 應用程式轉換專案,將 Oracle 資料庫結構描述轉換為 Postgre SQL 資料庫結構描述。請務必在專案中新增對應規則,其中包含來源 Oracle 結構描述和目標 Postgre SQL 資料庫。如需詳細資訊,請參閱對映中的資料類型 AWS Schema Conversion Tool

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

若要建立 Pro*C 應用程式轉換專案
  1. 建立資料庫轉換專案,並加入來源 Oracle 資料庫。如需詳細資訊,請參閱 在中啟動和管理專案 AWS SCT將伺服器新增至專案 AWS SCT

  2. 新增包含來源 Oracle 資料庫和目標 Postgre SQL 資料庫的對應規則。您可以在對應規則中新增目標 Postgre SQL 資料庫或使用虛擬 Postgre SQL 目標資料庫平台。如需詳細資訊,請參閱 對映中的資料類型 AWS Schema Conversion Tool對應至中的虛擬目標 AWS Schema Conversion Tool

  3. 在「檢視」功能表上,選擇「主視圖」。

  4. 應用程式功能表上,選擇 [新增 Pro*C 應用程式]。

    [建立 Pro*C 應用程式轉換專案] 對話方塊隨即出現。

    新增 Pro*C 應用程式轉換專案對話方塊
  5. 在「名稱」中,輸入 Pro*C 應用程式轉換專案的名稱。由於每個資料庫結構描述轉換專案都可以有一或多個子應用程式轉換專案,因此請選擇加入多個專案時合理的名稱。

  6. 在「位置」中,輸入應用程式原始碼的位置。

  7. 在來源樹狀結構中,選擇應用程式使用的結構描述。請確定此綱要是對應規則的一部分。 AWS SCT 以粗體亮顯屬於對映規則一部分的資料架構。

  8. 選擇 「確定」 以建立 Pro*C 應用程式轉換專案。

  9. 在左側面板的 [應用程式] 節點中尋找您的 Pro*C 應用程式轉換專案。

轉換您的 Pro*C 應用程序SQL代碼 AWS SCT

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

若要轉換程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. 保存轉換後的應用程序代碼。如需詳細資訊,請參閱編輯並儲存轉換後的應用程式碼

編輯和保存轉換後的應用程序代碼 AWS SCT

您可以編輯轉換後的SQL陳述式,並用 AWS SCT 來將此編輯的程式碼嵌入轉換後的 Pro*C 應用程式程式碼中。請使用下列程序來編輯轉換後的程SQL式碼。

編輯已轉換的SQL程式碼
  1. 展開左側面板中「應用程式」下的 Pro*C 節點。

  2. 選擇要轉換的應用程式,開啟內容 (按一下滑鼠右鍵) 功能表,然後選擇「轉換」。

  3. 在 [檢視] 功能表上,選擇 [評估報告檢視]。

  4. 選擇 [儲存陳述式],將 Pro*C 應用程式中擷取的程式SQL碼儲存為CSV檔案。CSV

  5. 輸入要儲存擷取的SQL程式碼的CSV檔案名稱,然後選擇 [儲存]。

  6. 編輯提取的SQL代碼。

  7. 在「檢視」功能表上,選擇「主視圖」。

  8. 在目標資料庫面板中,展開「應用程式」下的 Pro*C 節點。

  9. 選擇轉換後的應用程式,開啟內容 (按滑鼠右鍵) 功能表,然後選擇「匯入陳述式來源 CSV

  10. 選擇「是」,然後選擇包含已編輯SQL程式碼的檔案,然後選擇「開啟」。

AWS SCT 將轉換後的SQL陳述式分成多個部分,並將它們放入原始應用程式程式碼的適當物件中。請使用下列程序來儲存轉換後的應用程式程式碼。

儲存轉換後的應用程式程式碼
  1. 在目標資料庫面板中,展開「應用程式」下的 Pro*C 節點。

  2. 選擇轉換後的應用程式,然後選擇儲存

  3. 輸入要儲存轉換後應用程式程式碼的資料夾路徑,然後選擇 [選取資料夾]

管理 Pro*C 應用程式轉換專案 AWS SCT

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

若要新增其他 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. 選擇刪除,然後選擇確定

在中建立 Pro*C 應用程式轉換評估報告 AWS SCT

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

使用下列程序建立 Pro*C 應用程式轉換評估報告。

若要建立 Pro*C 應用程式轉換評估報告
  1. 展開左側面板中「應用程式」下的 Pro*C 節點。

  2. 選擇要轉換的應用程式,然後開啟內容 (按一下滑鼠右鍵) 功能表。

  3. 選擇「轉換」。

  4. 在 [檢視] 功能表上,選擇 [評估報告檢視]。

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

    摘要」標籤如下所示,顯示 Pro*C 應用程式評估報告中的執行摘要資訊。它顯示了所有SQL執行點和所有源代碼文件的轉換結果。

    Pro*C 應用程式評估報告摘要標籤
  6. 選擇 [儲存陳述式],將 Pro*C 應用程式中擷取的程式SQL碼儲存為逗號分隔值 () CSV 檔案。CSV

  7. (選擇性) 將報表的本機複本儲存為PDF檔案或逗號分隔值 (CSV) 檔案:

    • 選擇右上角PDF的 [儲存至],將報告儲存為PDF檔案。

      此PDF檔案包含執行摘要、行動項目和應用程式轉換的建議。

    • 選擇右上角CSV的 [儲存至],將報告儲存為CSV檔案。

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