本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在您的應用程序中轉換SQL代碼 AWS SCT
您可以使用 AWS SCT 來轉換嵌入到應用程式中的程式SQL碼。通用 AWS SCT 應用程序轉換器將您的應用程序代碼視為純文本。它掃描您的應用程序代碼並使用正則表達式提取SQL代碼。該轉換器支持不同類型的源代碼文件,並與以任何編程語言編寫的應用程序代碼一起使用。
通用應用程序轉換器具有以下限制。它不會深入研究應用程序的編程語言特定的應用程序邏輯。此外,通用轉換器不支持來自不同應用程序對象的SQL語句,例如函數,參數,局部變量等。
若要改善應用程式程式SQL碼轉換,請使用特定語言的應用程式程式SQL碼轉換 如需詳細資訊,請參閱SQLC# 應用程序中的代碼、SQL在 Java 中的代碼及SQL在 Pro* C 中的代碼。
建立一般應用程式轉換專案於 AWS SCT
在中 AWS Schema Conversion Tool,應用程式轉換專案是資料庫結構描述轉換專案的子系。每個資料庫結構描述轉換專案可以有一或多個子項應用程式轉換專案。
注意
AWS SCT 不支援下列來源與目標之間的轉換:
甲骨文到甲骨文
波斯特格雷SQL至波斯特格雷SQL或 Aurora · 波斯特 SQL
我SQL對我 SQL
SQL伺服器對SQL伺服器
Amazon Redshift 到 Amazon Redshift
SQL服務器到巴比魚
SQL伺服器整合服務 AWS Glue
阿帕奇卡桑德拉到 Amazon DynamoDB
請使用下列程序來建立一般應用程式轉換專案。
若要建立應用程式轉換專案
-
在中 AWS Schema Conversion Tool,選擇應用程式功能表上的新增一般應用程式。
會出現 New application conversion project (新增應用程式轉換專案) 對話方塊。
-
新增下列專案資訊。
對於此參數 執行此作業 名稱 輸入應用程式轉換專案的名稱。每個資料庫結構描述轉換專案可以有一或多個子項應用程式轉換專案,因此如果您稍後會新增更多專案,請選擇讓人好理解的名稱。
位置 輸入應用程式原始程式碼的位置。
語言 選擇下列其中一項:
Java
C++
C#
任何
目標參數型式 選擇要用於已轉換程式碼中繫結變數的語法。不同的數據庫平台對綁定變量使用不同的語法。請選擇下列其中一個選項:
與來源相同
Positional (?)
Indexed (:1)
Indexed ($1)
Named (@name)
Named (:name)
具名 (&N)
命名($ 名稱)
已命名的 (#name)
已命名 (! 名字!)
選擇來源資料庫結構描述 在來源樹狀結構中,選擇應用程式使用的結構描述。請確定此綱要是對應規則的一部分。
-
選取「不要將變數連結轉換為SQL型別」,以避免將變數型別繫結至SQL型別。此選項僅適用於甲骨文到波斯特格雷的SQL轉換。
例如,您的來源應用程式程式碼包含下列 Oracle 查詢:
SELECT * FROM ACCOUNT WHERE id = ?
當您選擇不要將綁定變量轉換為SQL類型時, AWS SCT 轉換此查詢,如下所示。
SELECT * FROM account WHERE id = ?
當您清除「不要將繫結變數轉換為SQL型別」時,會將繫結變數類型變 AWS SCT 更為
NUMERIC
資料類型。轉換結果如下所示。SELECT * FROM account WHERE id = (?)::NUMERIC
-
選取「保留物件名稱」,避免將綱要名稱新增至轉換物件的名稱。此選項僅適用於甲骨文到波斯特格雷的SQL轉換。
例如,假設您的來源應用程式程式碼包含下列 Oracle 查詢。
SELECT * FROM ACCOUNT
當您選取 [保留物件名稱] 時,會 AWS SCT 轉換此查詢,如下所示。
SELECT * FROM account
當您清除「保留物件名稱」時,會 AWS SCT 將結構描述名稱新增至表格的名稱。轉換結果如下所示。
SELECT * FROM schema_name.account
如果您的原始程式碼在物件名稱中包含父物件的名稱,則會在轉換後的程式碼中 AWS SCT 使用此格式。在這種情況下,請忽略「保留物件名稱」選項,因為會在轉換的程式碼中 AWS SCT 加入父系物件的名稱。
-
選擇 OK (確定) 以建立應用程式轉換專案。
專案視窗會開啟。
管理應用程式轉換專案 AWS SCT
您可以開啟現有的應用程式轉換專案,並新增多個應用程式轉換專案。
建立應用程式轉換專案後,專案視窗會自動開啟。您可以關閉應用程式轉換專案視窗,稍後再回到它。
若要開啟現有的應用程式轉換專案
在左側面板中,選擇應用程序轉換項目節點,然後打開上下文(右鍵單擊)菜單。
選擇管理應用程式。
若要新增其他應用程式轉換專案
在左側面板中,選擇應用程序轉換項目節點,然後打開上下文(右鍵單擊)菜單。
選擇 New application (新增應用程式)。
輸入建立新應用程式轉換專案所需的資訊。如需詳細資訊,請參閱建立一般應用程式轉換專。
分析和轉換您的SQL代碼 AWS SCT
使用下列程序在中分析和轉換您的程SQL式碼 AWS Schema Conversion Tool。
若要分析和轉換您的SQL程式碼
-
開啟現有的應用程式轉換專案,然後選擇 [分析]。
AWS SCT 分析您的應用程式程式碼並擷取程式SQL碼。 AWS SCT 在「已剖析的SQL指令SQL碼」清單中顯示擷取的程式碼。
-
對於已剖析的SQL指令碼,請選擇要檢閱其擷取的SQL程式碼的項目。 AWS SCT 在「已解壓縮的SQL腳本」窗格中顯示所選項目的代碼。
-
選擇轉換將SQL代碼轉換為提取的SQL腳本窗格。 AWS SCT 將代碼轉換為與目標數據庫兼容的格式。
您可以編輯轉換後的SQL代碼。如需詳細資訊,請參閱編輯並儲存轉換後的SQL程式碼。
-
當您建立應用程式轉換評估報告時,會 AWS SCT 轉換所有擷取的程式SQL碼項目。如需詳細資訊,請參閱建立和使用評估報告。
在中建立和使用 AWS SCT 評估報告 AWS SCT
應用程式轉換評估報告提供有關將應用程式程式SQL碼轉換為與目標資料庫相容格式的相關資訊。報表會詳細說明所有擷取的SQL程式碼、所有已轉換的SQL程式碼, AWS SCT 以及無法轉換之SQL程式碼的行動項目。
建立應用程式轉換評估報告
使用下列程序建立應用程式轉換評估報告。
建立應用程式轉換評估報告
-
在應用程式轉換專案視窗中,選擇 [動作] 功能表上的 [建立報表]。
AWS SCT 會建立應用程式轉換評估報告,並在應用程式轉換專案視窗中開啟。
-
檢閱 Summary (摘要) 索引標籤。
「摘要」標籤如下所示,顯示應用程式評估報告的摘要資訊。它會顯示自動轉換的SQL程式碼項目,以及未自動轉換的項目。
-
選擇SQL擷取動作。
檢閱無法從原始SQL程式碼擷取的程式碼項目清單。 AWS SCT
-
選擇SQL轉換動作。
檢閱無法自動轉換的SQL程式碼項目清單。 AWS SCT 使用建議的動作手動轉換程SQL式碼。如需如何編輯轉換後SQL程式碼的詳細資訊,請參閱編輯並保存轉換後的SQL代碼 AWS SCT。
-
(選擇性) 將報表的本機複本儲存為PDF檔案或逗號分隔值 (CSV) 檔案:
-
選擇右上角PDF的 [儲存至],將報告儲存為PDF檔案。
此PDF檔案包含執行摘要、行動項目和應用程式轉換的建議。
-
選擇右上角CSV的 [儲存至],將報告儲存為CSV檔案。
此CSV檔案包含行動項目、建議的動作,以及轉換SQL程式碼所需手動工作的估計複雜性。
-
編輯並保存轉換後的SQL代碼 AWS SCT
評估報告包含無法轉換的SQL程式碼項目清單。 AWS SCT 對於每個項目,請在「SQL轉換操作」標簽中 AWS SCT 創建一個事務處理。對於這些項目,您可以手動編輯SQL代碼以執行轉換。
使用下列程序編輯轉換後的程SQL式碼、套用變更,然後儲存變更。
若要編輯、套用變更,並儲存轉換後的SQL程式碼
-
直接在「目標SQL指令SQL碼」窗格中編輯轉換後的程式碼。如果未顯示轉換後的程式碼,您可以在窗格中按一下,並開始輸入。
-
完成編輯轉換後的SQL程式碼,請選擇「套用」。此時,變更就會儲存在記憶體中,但尚未寫入您的檔案。
-
選擇 Save (儲存) 將變更儲存至您的檔案。
當您選擇「儲存」時,會覆寫原始檔案。在儲存前先複製您的原始檔案,即可擁有一份原始應用程式程式碼的記錄。