[英]SSIS Stored Procedure Call
我正在嘗試調用一個簡單的存儲過程,該存儲過程將以普通測試格式返回名稱列表,所有這些都在一行中。 我給它傳遞了兩個參數,但是無論我如何設置調用,無論是在OLE DB源編輯器中還是在執行SQL任務中。 我的SQL語句b / ci必須缺少某些內容,從而不斷出現錯誤。
我的SQL命令文本是
EXEC [dbo].[spGetEmployerIdCSV] ?, ?
我傳遞的參數與存儲過程@IDType
和@IDNumber
中聲明的參數完全一樣列出,它們映射到預定義變量。
每當我嘗試從任一任務類型運行它時,都會得到一個
不支持EXEC SQL構造或語句。
在SSIS中運行存儲過程的最佳方法是什么?
謝謝。
我無法重提您的問題。
我已經使用proc創建了一個控制流。
我將我的執行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.