簡體   English   中英

SqlConnectionStringBuilder 在 SSIS 包中失敗

[英]SqlConnectionStringBuilder Failing within SSIS package

我在生產中有幾個 SSIS 包,它們使用 SqlConnectionStringBuilder 連接到 SQL Server 數據庫。 這些包在大約 10 天前運行良好,我們沒有對 Prod 進行任何更改。 然后,突然之間,包開始失敗,錯誤是

連接字符串格式無效。 它必須由一個或多個由分號分隔的 x=y 形式的組件組成。

當我嘗試調試腳本任務時,腳本任務總是在以下情況下失敗:

string connstring = Dts.Variables["User::Static"].GetSensitiveValue().ToString();
//MessageBox.Show(connstring);
SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(connstring);
builder.ConnectTimeout = 1800;

從錯誤消息看來,我傳遞了一個空白的連接字符串,但事實並非如此。 我已將連接字符串硬編碼為靜態變量,以便它不會動態構建(顯然是為了測試和解析目的)。

這種方法有什么替代方法,我還能做些什么來解決這個問題? 任何幫助表示贊賞。

編輯:

進一步挖掘后,我到了它試圖在數據庫上執行存儲過程的地步。

SqlCommand command = new SqlCommand("[dbo].[GetdataALL]", sqlConn);
                    command.CommandTimeout = 1800;
                    command.CommandType = CommandType.StoredProcedure;
                    command.Parameters.AddWithValue("@Columns1", Dts.Variables["User::Columns"].Value.ToString());
                    command.Parameters.AddWithValue("@Where_ID", Dts.Variables["User::WhereID"].Value.ToString());
                    command.ExecuteNonQuery();

失敗的可能原因是什么? 謝謝你。

您是否僅在調試時收到此錯誤? 如果是這樣,您需要將保護級別更改為 EncryptSensitiveWithPassword。 檢查 HodgyHodson 的回答。

參考這個鏈接

暫無
暫無

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

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