適用於:
Azure Data Factory
Azure Synapse Analytics
提示
Data Factory in Microsoft Fabric 是下一代的 Azure Data Factory,擁有更簡單的架構、內建 AI 及新功能。 如果你是資料整合新手,建議先從 Fabric Data Factory 開始。 現有的 ADF 工作負載可升級至 Fabric,以存取資料科學、即時分析與報告等新能力。
您可以在 Data Factory 或 Synapse 管線中,使用資料轉換活動,將原始資料轉換及處理成預測與深入解析。 預存程序活動是管線支援的轉換活動之一。 本文是以轉換資料一文為基礎,提供資料轉換及所支援轉換活動的一般概觀。
注意
如果你是Azure Data Factory新手,請先閱讀
您可以使用儲存程序活動(Stored Procedure Activity)在企業內的以下資料儲存庫或 Azure 虛擬機(VM)中呼叫儲存程序:
- Azure SQL Database
- Azure Synapse Analytics
- SQL Server 資料庫。 如果你使用 SQL Server,請在與主機資料庫相同的電腦上安裝自架整合執行時,或是在有資料庫存取權的另一台電腦上。 Self-Hosted 整合執行時是一個元件,能以安全且受管理的方式,將本地/Azure虛擬機上的資料來源與雲端服務連結起來。 如需詳細資料,請參閱自我托管整合執行階段一文。
重要
當將資料複製到 Azure SQL Database 或 SQL Server 時,你可以在複製活動中設定 SqlSink,透過 sqlWriterStoredProcedureName 屬性來呼叫儲存程序。 關於該物業的詳細資訊,請參閱以下連接條目:Azure SQL Database、SQL Server。 在使用 copy activity 將資料匯入至 Azure Synapse Analytics 時,不支援觸發儲存程序。 不過,你可以利用儲存程序活動在 Azure Synapse Analytics 中呼叫儲存程序。
當從 Azure SQL Database、SQL Server 或 Azure Synapse Analytics 複製資料時,你可以在複製活動中設定 SqlSource,利用 sqlReaderStoredProcedureName 屬性呼叫儲存程序來讀取來源資料庫的資料。 欲了解更多資訊,請參閱以下連接器文章:Azure SQL Database、SQL Server、Azure Synapse Analytics
當預存程式具有輸出參數時,不要使用預存程式活動,請使用查閱活動和腳本活動。 預存程序活動尚不支援使用輸出參數呼叫 SP。
如果您使用預存程序活動呼叫具有輸出參數的預存程序,則會發生下列錯誤。
針對 SQL Server 執行失敗。 如需進一步支援,請聯絡 SQL Server 團隊。 Sql 錯誤號碼:201。 錯誤訊息:程序或函式 'sp_name' 預期未提供的參數 '@output_param_name'。
使用 UI 建立預存程序活動
若要在管線中使用預存程序活動,請完成下列步驟:
在管線 [活動] 窗格中搜尋 [預存程序],然後將 [預存程序] 活動拖曳至管線畫布。
在畫布上選取新的預存程序活動 (如未選取) 和其 [設定] 索引標籤以編輯詳細資料。
選擇現有或建立新的連結服務,連結至 Azure SQL Database、Azure Synapse Analytics 或 SQL Server。
選擇預存程序,並提供執行所需的任何參數。
語法詳細資料
以下是 JSON 格式來定義預存程序活動︰
{
"name": "Stored Procedure Activity",
"description":"Description",
"type": "SqlServerStoredProcedure",
"linkedServiceName": {
"referenceName": "AzureSqlLinkedService",
"type": "LinkedServiceReference"
},
"typeProperties": {
"storedProcedureName": "usp_sample",
"storedProcedureParameters": {
"identifier": { "value": "1", "type": "Int" },
"stringData": { "value": "str1" }
}
}
}
下表說明這些 JSON 屬性:
| 屬性 | 描述 | 必要 |
|---|---|---|
| 名稱 | 活動的名稱 | Yes |
| 說明 | 說明活動用途的文字 | No |
| 型別 | 對於預存程序活動,活動類型為 SqlServerStoredProcedure | Yes |
| linkedServiceName | 參考已在 Data Factory 中註冊為連結服務的 Azure SQL Database、Azure Synapse Analytics 或 SQL Server。 若要深入了解此已連結的服務,請參閱計算已連結的服務一文。 | Yes |
| 儲存程序名稱 | 指定要叫用的預存程序名稱。 | Yes |
| 儲存過程參數 | 指定預存程序參數的值。 使用 "param1": { "value": "param1Value","type":"param1Type" } 來傳遞資料來源所支援的參數值及其類型。 如果您需要為參數傳遞 Null,請使用 "param1": { "value": null } (全部小寫)。 |
No |
參數數據類型映射
您為參數指定的資料類型,是對應至所用資料來源中資料類型的內部服務型別。 您可以在連接器文件中,找到資料來源的資料類型對應說明。 例如:
相關內容
請參閱下列文章,其說明如何以其他方式轉換資料: