簡體   English   中英

無法將變量值傳遞給ssis中的存儲過程

[英]Unable to pass a variable value to a stored procedure in ssis

執行SSIS包時,會出現以下錯誤:

[OLE DB Source [83]]錯誤:SQL命令需要名為“@Sales_person”的參數,該參數在參數映射中找不到。

[SSIS.Pipeline]錯誤:OLE DB源未執行預執行階段並返回錯誤代碼0xC0207014。

下面是我的OLE DB Source編輯器的屏幕截圖 在此輸入圖像描述

在此輸入圖像描述

在此輸入圖像描述

我確實在Set Query參數中看到Param方向選項卡,該怎么用? 在我的情況下,我將使用InputOutputInputOutput

搜索后我沒有找到適合這個問題的解決方案。 很多建議就像在執行命令之前添加SET NOCOUNT ON一樣。 下面是一些相關鏈接:

你可以做一個解決方法

聲明一個SSIS變量(假設@[User::Query]

設置@[User::Query]屬性EvaluateAsExpression = True並使用以下表達式

"EXEC [dbo].[GetDales_Person_data] " + @[User::Sales]

如果@[User::Sales]是一個字符串,請使用以下內容

"EXEC [dbo].[GetDales_Person_data] '" + @[User::Sales] + "'"

然后在OLEDB Source使用SQL Command from variable選擇@[User::Query]

問題在於映射。 請參閱下面的圖片和來源進行更正,您應將其設置為:

Exec [dbo].[GetSales_Person_Data] @Sales_person = ?

在此輸入圖像描述

來源 - 極客與博客

暫無
暫無

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

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