Sql-Server-2012
SSIS 包未在 SQL Server 代理作業中保留參數
我有一個 SSIS 包儲存在 SQL Server 實例上的 Integration Services 目錄中。
此包用作 SQL Server 代理作業中的一個步驟。
該軟體包有 4 個必需參數。
如果我在我的本地機器上使用 SSMS 編輯包,我可以添加所有這些參數並且作業執行良好。
但是,從伺服器上的 SSMS 編輯步驟會出現以下錯誤:
您可以輸入此值,但每次返回編輯步驟時,錯誤都會再次出現,並且參數值為空白。
因為部署這個包的人必須在伺服器上使用 SSMS,所以我真的可以找出造成這種情況的原因。
伺服器 SQL Server:SQL Server 2012 (11.0.3128) SSMS:11.0.3128.0 作業系統:Windows Server 2012 (6.2.9200)
我的電腦 SSMS:11.0.3128.0 作業系統:Windows 8.1 (6.3.9600)
我發現了問題所在。
其中 2 個參數是連接字元串,如果連接字元串包含應用程序名稱,則不儲存前一個參數的值。
這在我的機器上執行良好,所以我假設 SSMS 客戶端版本的差異是罪魁禍首。
目前我只是從連接字元串中刪除了應用程序名稱。
我花了幾天時間試圖弄清楚為什麼我的 SSIS 包在 Visual Studio 中執行但在部署到 SSIS 伺服器時失敗。我發現您不能將工作“連接”用作包中參數名稱的一部分(我的參數是包級別而不是項目級別並在 sql 代理作業中配置)。在我的情況下,我將連接字元串參數化。導致 sql agent 解析參數並錯誤傳遞連接字元串。去搞清楚!