根據示例here from MSDN,如果通過「sp_start_job」過程調用包,如何提供SSIS包級別變量?使用SQL Server代理以編程方式在服務器上運行遠程SSIS包
下面是從MSDN示例代碼:
Dim jobConnection As SqlConnection
Dim jobCommand As SqlCommand
Dim jobReturnValue As SqlParameter
Dim jobParameter As SqlParameter
Dim jobResult As Integer
jobConnection = New SqlConnection("Data Source=(local);Initial Catalog=msdb;Integrated Security=SSPI")
jobCommand = New SqlCommand("sp_start_job", jobConnection)
jobCommand.CommandType = CommandType.StoredProcedure
jobReturnValue = New SqlParameter("@RETURN_VALUE", SqlDbType.Int)
jobReturnValue.Direction = ParameterDirection.ReturnValue
jobCommand.Parameters.Add(jobReturnValue)
jobParameter = New SqlParameter("@job_name", SqlDbType.VarChar)
jobParameter.Direction = ParameterDirection.Input
jobCommand.Parameters.Add(jobParameter)
jobParameter.Value = "RunSSISPackage"
jobConnection.Open()
jobCommand.ExecuteNonQuery()
jobResult = DirectCast(jobCommand.Parameters("@RETURN_VALUE").Value, Integer)
jobConnection.Close()
Select Case jobResult
Case 0
Console.WriteLine("SQL Server Agent job, RunSISSPackage, started successfully.")
Case Else
Console.WriteLine("SQL Server Agent job, RunSISSPackage, failed to start.")
End Select
Console.Read()
我如何可以提供值,命名爲「RunSSISPackage」 SSIS包中的變量?
我的包使用動態連接字符串。我如何通過表查詢在我的包中設置這些值? – D3vtr0n 2009-09-14 19:23:17
所以你的一個參數是連接信息? – 2009-09-14 19:47:35
是的,所有參數都是動態訪問目標文件的連接信息。用戶可以選擇任何文件夾來傳輸這些數據。對於我的SSIS包來說,它需要提供這些參數。有任何想法嗎? – D3vtr0n 2009-09-14 21:30:21