2013-05-22 101 views
0

我在SSIS包一個C#腳本以下傳遞使用腳本任務的變量在SSIS

SqlConnection importTab = new SqlConnection(@"Server=ServerName; 
Integrated Security=true;user=;pwd=;database=DBname"); 

我需要通過數據庫名稱(數據庫)變量裏面提到...

可能像在腳本任務這個

SqlConnection importTab = new SqlConnection(@"Server=ServerName; 
Integrated Security=true;user=;pwd=;database="+"User::Variable" +");" 

,但我知道我錯了......

+0

您不應該在連接字符串中同時包含「Integrated Security = true」和用戶標識和密碼,請選擇其中一個。 – stuartd

+1

使用[連接字符串生成器類](http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlconnectionstringbuilder.aspx) – stuartd

回答

0

下面的代碼可以幫助你

var dbServerName = Dts.Variables["yourVariableName"].Value.ToString(); 

var sqlConnString = string.Format("Server=ServerName;Integrated Security=true;user=;pwd=;database={0}", dbServerName); 

SqlConnection sqlConn = new SqlConnection(sqlConnString); 
0

我不喜歡這樣寫道:

當打開你有兩個字段,ReadOnlyVariablesReadWriteVariables腳本任務屬性。根據您的需求,將您的變量名稱寫入相應的字段,在您的案例中User::Variable

在代碼中,你可以使用它像這樣

Dts.Variables["User::Variable"].Value.ToString() 
2

要在腳本中使用的變量,首先確保變量已添加到 無論是包含在ReadOnlyVariables屬性列表或包含列表根據 代碼是否需要寫入該變量,在 此腳本任務的ReadWriteVariables屬性中。

//Example of reading from a variable: 
DateTime startTime = (DateTime) Dts.Variables["System::StartTime"].Value; 

//Example of writing to a variable: 
Dts.Variables["User::myStringVariable"].Value = "new value"; 

//Example of reading from a package parameter: 
int batchId = (int) Dts.Variables["$Package::batchId"].Value; 

//Example of reading from a project parameter: 
int batchId = (int) Dts.Variables["$Project::batchId"].Value; 

//Example of reading from a sensitive project parameter: 
int batchId = (int) Dts.Variables["$Project::batchId"].GetSensitiveValue();