簡體   English   中英

通過SSIS執行SQL Server存儲過程

[英]Execute SQL Server stored procedure through SSIS

我有這個存儲過程:

CREATE PROCEDURE [dbo].[sp_Carrier_Scan_Compliance]
     (@RETAILERID  INT OUTPUT,
      @SYSTEM_ID  VARCHAR(10) OUTPUT)
AS
BEGIN
    SET @RETAILERID = 2
    SET @SYSTEM_ID = 'DMASOS'
    ...
END

我已經在控制流中使用Execute SQL Task創建了一個SSIS包。

這些是我的“ 執行SQL任務”編輯器設置:

在此處輸入圖片說明

這是我的變量設置:

在此處輸入圖片說明

這些是我的參數映射設置:

在此處輸入圖片說明

運行SSIS程序包時,出現錯誤:

錯誤:執行SQL存儲過程中的0xC002F210(要復制“ BI-Datatrunk”源表中的數據)任務,執行SQL任務:執行查詢“ exec = [sp_Carrier_Scan_Compliance]?OUTPUT ,? O ...”失敗,並出現以下錯誤:“'='附近的語法不正確。”。 可能的失敗原因:查詢問題,“ ResultSet”屬性未正確設置,參數未正確設置或連接未正確建立。

任務失敗:執行SQL存儲過程(從“ BI-Datatrunk”源表復制數據)
警告:在Carrier_Scan_Compliance_SP處為0x80019002:SSIS警告代碼DTS_W_MAXIMUMERRORCOUNTREACHED。 執行方法成功,但是引發的錯誤數(1)達到允許的最大值(1); 導致失敗。 錯誤數量達到MaximumErrorCount中指定的數量時,會發生這種情況。 更改MaximumErrorCount或修復錯誤。

我不確定我缺少什么。

請幫我。

謝謝

最后一個錯誤的關鍵部分是

對對象'sp_Carrier_Scan_Compliance',數據庫'DATAK',模式'dbo'的EXECUTE權限被拒絕。”

您需要為執行Proc的SQL用戶分配EXECUTE權限

USE DATAK
GO
GRANT EXECUTE ON sp_Carrier_Scan_Compliance TO <sql user>
GO 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM