2017-01-30 245 views
2

我試圖將變量傳遞給我設置的存儲過程,我將它們映射到參數映射選項卡中。我想我可能有不正確的語法,但我找不到解決方案。使用sql任務將參數傳遞給存儲過程

EXEC [dbo].[proc_GetQuarterlyEmailId] 
    @employeeNumber = ?, 
    @employeeFirstName = ?, 
    @employeeLastName = ?, 
    @employeeEmail = ? 

我得到的錯誤是:

Executing the query "EXEC [dbo].[proc_GetQuarterlyEmailId] @employeeNu..." failed with the following error: "Could not find stored procedure ''.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.

如果我從存儲過程中刪除參數,並刪除它運行完全正常的參數映射,所以我知道它可以找到它。我正在使用ADO.NET連接。

回答

3

嘗試執行SP沒有列出的參數:

EXEC proc_GetQuarterlyEmailId ?, ?, ?, ? 

我一直使用的語法是這樣的...而且永遠不會有問題......

如果程序返回一些行,當參數提供的,那麼你必須改變屬性「Reslut集」到tomenthing不是「無」,否則...參數


映射不同,其上的連線類型所使用。 如果您使用的是OLE DB,則必須使用問號標記參數,正如我昨天提到的那樣。並且爲了在「參數名稱」列中映射,您必須使用數字0,1,2,... 我附加了「Result Set」=「None」的樣本圖片,因爲我有一個SP不會返回eny結果集。

General Tab Parameter Mapping Tab

檢查也是這個鏈接:https://msdn.microsoft.com/en-us/library/ms140355(v=sql.105).aspx

+0

感謝您的回答!但我試過了,它仍然給我同樣的錯誤。結果集被設置爲「單行」,因爲這是我在SP工作時得到的結果。 – rycekrispies

+0

您是否在使用「執行SQL任務」轉換?如果是這樣,你可以添加「參數映射」和「結果集」設置的屏幕截圖,因爲這些都導致我在過去的問題 – MiguelH

+0

參數映射不同,你正在使用哪種連接類型。 –

相關問題