本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
轉換信息ETL腳本 AWS Schema Conversion Tool
您可以使用 AWS SCT 命令列介面 (CLI) 來轉換 Informatica 指令ETL碼,以便您可以將這些指令碼與新的目標資料庫搭配使用。此轉換包括三個關鍵步驟。首先, AWS SCT 轉換嵌入在您的信息對象的SQL代碼。接下來, AWS SCT 根據您在專案中指定的移轉規則變更資料庫物件的名稱。最後, AWS SCT 將 Informatica ETL 腳本的連接重定向到新的目標數據庫。
您可以將信息ETL腳本轉換為 AWS SCT 數據庫轉換項目的一部分。轉換 Informatica ETL 指令碼時,請務必將來源和目標資料庫新增至專案。
若要轉換資訊ETL指令碼,請確定您使用的是 1.0.667 或更高 AWS SCT 版本。此外,請熟悉的指令行介面。 AWS SCT如需詳細資訊,請參閱CLI參考資料 AWS Schema Conversion Tool。
若要使用轉換資訊指ETL令碼 AWS SCT
-
建立新 AWS SCT CLI指令碼或編輯現有案例範本。例如,您可以下載和編輯
InformaticConversionTemplate.scts
範本。如需詳細資訊,請參閱取得CLI案例。 -
下載來源和目標資料庫所需的JDBC驅動程式。使用指
SetGlobalSettings
令指定這些驅動程式的位置。此外,請指定 AWS SCT 可以儲存記錄檔的資料夾。下列程式碼範例說明如何將 Oracle 和 Postgre SQL 驅動程式的路徑新增至 AWS SCT 設定。執行此程式碼範例之後,將記錄檔 AWS SCT 儲存在資
C:\sct_log
料夾中。此外,還將控制台日誌文件 AWS SCT 存儲在文件C:\Temp\oracle_postgresql
夾中。SetGlobalSettings -save: 'true' -settings: '{"oracle_driver_file": "C:\\drivers\\ojdbc8.jar", "postgresql_driver_file": "C:\\drivers\\postgresql-42.2.19.jar" }' / SetGlobalSettings -save: 'false' -settings: '{ "log_folder": "C:\\sct_log", "console_log_folder": "C:\\Temp\\oracle_postgresql"}' /
-
創建一個新 AWS SCT 項目。輸入專案的名稱和位置。
下列程式碼範例會在
C:\Temp
資料夾中建立oracle_postgresql
專案。CreateProject -name: 'oracle_postgresql' -directory: 'C:\Temp' /
-
新增有關來源和目標資料庫的連線資訊。
下列程式碼範例會將 Oracle 和 Postgre SQL 資料庫新增為 AWS SCT 專案的來源和目標。
AddSource -password: '
source_password
' -port: '1521' -vendor: 'ORACLE' -name: 'ORACLE' -host: 'source_address
' -database: 'ORCL' -user: 'source_user
' / AddTarget -database: 'postgresql' -password: 'target_password
' -port: '5432' -vendor: 'POSTGRESQL' -name: 'POSTGRESQL' -host: 'target_address
' -user: 'target_user
' /在前面的例子中,替換
source_user
以及target_user
使用您的數據庫用戶的名稱。接下來,更換source_password
以及target_password
用你的密碼。用於source_address
以及target_address
,輸入來源和目標資料庫伺服器的 IP 位址。若要連線到 Oracle 資料庫版本 19 及更新版本,請在
AddSource
命令中使用 Oracle 服務名稱。若要執行此操作,請加入-connectionType
參數並將其值設定為'basic_service_name'
。然後,添加-servicename
參數並將其值設置為您的 Oracle 服務名稱。若要取得有關AddSource
指令的更多資訊,請參閱〈AWS Schema Conversion Tool CLI參考〉。 -
建立新的 AWS SCT 對應規則,以定義每個來源資料庫結構描述的目標資料庫引擎。如需詳細資訊,請參閱對映中的資料類型 AWS Schema Conversion Tool。
下列程式碼範例會建立包含所有來源 Oracle 資料庫結構描述的對應規則,並將 Postgre 定義SQL為移轉目標。
AddServerMapping -sourceTreePath: 'Servers.ORACLE' -targetTreePath: 'Servers.POSTGRESQL' /
-
添加有關您的信息源和目標XML文件的連接信息。
下列程式碼範例會從
C:\Informatica_source
和資C:\Informatica_target
料夾新增 Informatica XML 檔案。AddSource -name: 'INFA_SOURCE' -vendor: 'INFORMATICA' -mappingsFolder: 'C:\Informatica_source' / AddTarget -name: 'INFA_TARGET' -vendor: 'INFORMATICA' -mappingsFolder: 'C:\Informatica_target' /
-
建立另一個對應規則,以定義來源資訊XML檔案的目標資訊檔案。XML
下列程式碼範例會建立對應規則,其中包含前述範例中使用的來源和目標 Informatica XML 檔案。
AddServerMapping -sourceTreePath: 'ETL.INFA_SOURCE' -targetTreePath: 'ETL.INFA_TARGET' /
-
指定對應至「資訊」連線名稱參照的資料庫伺服器連線。
下列程式碼範例會設定 Informatica ETL 指令碼從來源重新導向至新的目標資料庫。此範例也會設定連接變數。
ConfigureInformaticaConnectionsRedirect -treePath: 'ETL.INFA_SOURCE.Files' -connections: '{ "ConnectionNames": [ { "name": "Oracle_src", "newName": "postgres", "treePath": "Servers.ORACLE" } ] "ConnectionVariables": [ { "name": "$Source", "treePath": "Servers.ORACLE" } ] }' /
-
轉換您的源數據庫模式和信息ETL腳本。
下列程式碼範例會轉換所有來源 Oracle 資料庫結構描述和資訊XML檔案。
Convert -treePath: 'Servers.ORACLE.Schemas.%' / Convert -treePath: 'ETL.INFA_SOURCE.Files' /
-
(選擇性) 儲存轉換專案和評估報告。此報告包含轉換動作項目,以及如何處理每個動作項目的建議。
下列程式碼範例會儲存您的專案,並將評估報告的副本儲存為
C:\Temp
資料夾中的PDF檔案。SaveProject / SaveReportPDF -treePath: 'ETL.INFA_SOURCE.Files' -file:'C:\Temp\Informatica.pdf' /
-
保存轉換後的信息文XML件。
下列程式碼範例會將轉換的XML檔案儲存在資
C:\Temp
料夾中。您在上一個步驟中使用指AddTarget
令指定了此資料夾。SaveTargetInformaticaXML -treePath: 'ETL.INFA_TARGET.Files' /
-
將您的指令碼儲存為
.scts
檔案,並使用中的RunSCTBatch
指令執行它 AWS SCT CLI。如需詳細資訊,請參閱AWS SCT CLI腳本模式。下列範例會在
C:\Temp
資料夾中執行Informatica.scts
指令碼。您可以在視窗中使用這個範例。RunSCTBatch.cmd --pathtoscts "C:\Temp\Informatica.scts"
如果您編輯來源資訊ETL指令碼,請再次執行指 AWS SCT CLI令碼。