適用於:
Azure Data Factory
Azure Synapse Analytics
提示
關於 Microsoft 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
儲存程序活動不支援輸出參數。 若要執行一個能回傳輸出參數或結果的儲存程序,請使用 Lookup 或 Script 活動。
若使用儲存程序活動呼叫帶有輸出參數的儲存程序,會發生以下錯誤:
Execution fail against sql server. Please contact SQL Server team if you need further support. Sql error number: 201. Error Message: Procedure or function 'sp_name' expects parameter '@output_param_name', which was not supplied.
使用 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 |
參數數據類型映射
您為參數指定的資料類型,是對應至所用資料來源中資料類型的內部服務型別。 您可以在連接器文件中,找到資料來源的資料類型對應說明。 例如:
相關內容
請參閱下列文章,其說明如何以其他方式轉換資料: