.NET程序调用SSIS中的DTS包

以下代码是在VB.NET(Framework 2.0)中调用SQLServer2005 的Intergration Service中DTS包。
1 如果要在WebService中调用DTS,必须用VB.NET语言。因为如果用C#编写WebService的话,将无法引用Microsoft.SqlServer.ManagedDTS组件。本篇文章发表于www.xker.com(小新)
2 将NETWORK SERVICE帐户添加到Administrator组中,否则将不能执行DTS。(会带来安全漏洞)



 1 Imports Microsoft.SqlServer.Dts.Runtime
 2
 3 ‘WebService代码
 4     <WebMethod()> _
 5     Public Function ExecutePackage() As Integer
 6         Dim pkg As String = “D:\Development\Programe\PackageDev\Package\MG-TSJF-PKG.dtsx”
 7
 8         Dim app As Application = New Application()
 9         Dim p As Package = app.LoadPackage(pkg, Nothing)
10         ‘p.InteractiveMode = True
11
12         Dim vir As Variables = p.Variables
13         vir(“用户::PackageID”).Value = 4
14
15         If p.Execute(Nothing, vir, Nothing, Nothing, Nothing) = DTSExecResult.Success Then
16             Return 0
17         Else
18             Return 1
19         End If
20     End Function