簡體   English   中英

SSIS存儲過程調用

[英]SSIS Stored Procedure Call

我正在嘗試調用一個簡單的存儲過程,該存儲過程將以普通測試格式返回名稱列表,所有這些都在一行中。 我給它傳遞了兩個參數,但是無論我如何設置調用,無論是在OLE DB源編輯器中還是在執行SQL任務中。 我的SQL語句b / ci必須缺少某些內容,從而不斷出現錯誤。

我的SQL命令文本是

EXEC [dbo].[spGetEmployerIdCSV]  ?,  ?

我傳遞的參數與存儲過程@IDType@IDNumber中聲明的參數完全一樣列出,它們映射到預定義變量。

每當我嘗試從任一任務類型運行它時,都會得到一個

不支持EXEC SQL構造或語句。

在SSIS中運行存儲過程的最佳方法是什么?

謝謝。

我無法重提您的問題。

我已經使用proc創建了一個控制流。

控制流

我將我的執行sql任務配置為

exec sql任務

我的參數標簽顯示

參數映射

當我單擊運行時,程序包變為綠色。

我最初的假設是,您已經發出信號,表明您正在使用存儲過程,並且錯誤地提供了EXEC部分。 我用SSRS做過類似的事情,但是即使通過Expression將IsQueryStoredProcedure更新為True,我也無法重新生成您的錯誤消息。

如果除了我在“執行SQL任務”中顯示的內容以外,您還在做其他/不同的事情,您是否可以修改問題以描述該過程應顯示的所有功能。

您指定輸出參數了嗎? 對於2 in / 1 out,您的SQL代碼如下所示:

EXEC [dbo].[spGetEmployerIdCSV] ?, ?, ? OUTPUT

ResultSet必須設置為none!

我有同樣的問題。

執行任務時,請檢查“進度”標簽; 這將為您提供“完全成熟”的錯誤詳細信息。

就我而言,我沒有將在SQL任務中創建的參數映射到存儲過程中的實際參數。

因此,雙擊SQL任務,單擊左側的“參數映射”,然后創建參數及其各自的映射。 這是屏幕截圖(2012版):

在此處輸入圖片說明

升級到VS 2013的SSDT后,我遇到了類似的問題(問題出在查找元素上)。 通過使用以下答案解決

EXEC ('dbo.MyStoredProcedure')
WITH RESULT SETS
  (
    (
        MyIntegerColumn INT NOT NULL,
        MyTextColumn VARCHAR(50) NULL,
        MyOtherColumn BIT NULL
    )
  )

使用與在MySQL工作台中運行存儲過程相同的命令

通話();

在執行SQL任務中使用此命令

暫無
暫無

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

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