如何从VB.NET Windows应用程序执行SSIS包?

时间:2010-03-30 16:59:06

标签: ssis

是否可以从Windows 2005 VB应用程序执行SQL dtsx包?

如果是这样,有人可以告诉我如何或给我发送链接吗? 我按照以下说明操作: http://www.bigresource.com/Tracker/Track-ms_sql-xAKCmQKI/但是包结果失败了。这可能是因为dtsx不在本地机器上吗?这个包装本身很有用。

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)


首先,您需要找到文件Microsoft.SqlServer.ManagedDTS.dll并将此资源添加到Visual Studio项目中:

  1. 您可以通过转到Visual Studio中的Project --> Add
    Reference... --> Browse
    并搜索此文件来查找此文件 文件在C:\Program Files\Microsoft SQL Server\100\SDK\Assemblies目录中。


  2. 如果你在那里找不到(这就是发生在我身上的事情),请转到 在Windows中提示Run...并输入C:\Windows\assembly\gac_msil。 然后,在此文件夹的搜索框中输入文件名 Microsoft.SqlServer.ManagedDTS.dll。将此文件复制粘贴到 更容易找到的地方,并添加此引用 您的Visual Studio项目如上所述。

  3. <小时/> 所以,现在已经完成了所有这些疯狂的事情,这里有一个关于如何在VB.NET中执行.dtsx SSIS包的想法。 这是未经测试的,在比我聪明的人的帮助下,他从其他人那里得到了更聪明的想法 ;)

    Protected Friend Sub loadSSISPackage(ByVal packageFile As String)
    
        If Me.fileExists(packageFile) AndAlso packageFile.EndsWith(".dtsx") Then
            Dim pkg As New Microsoft.SqlServer.Dts.Runtime.Package
            Dim app As New Microsoft.SqlServer.Dts.Runtime.Application
            Dim pkgResults As Microsoft.SqlServer.Dts.Runtime.DTSExecResult
    
            pkg = app.LoadPackage(packageFile, Nothing)
            pkgResults = pkg.Execute()
            MsgBox(pkgResults.ToString())
        Else
            Environment.Exit(-1)
        End If
    End Sub
    

答案 2 :(得分:0)

您还需要设置引用(导入Microsoft.SqlServer.Dts)

import Microsoft.SqlServer.Dts

Protected Friend Sub loadSSISPackage(ByVal packageFile As String)
    If Me.fileExists(packageFile) AndAlso packageFile.EndsWith(".dtsx") Then
        Dim pkg As New Microsoft.SqlServer.Dts.Runtime.Package
        Dim app As New Microsoft.SqlServer.Dts.Runtime.Application
        Dim pkgResults As Microsoft.SqlServer.Dts.Runtime.DTSExecResult

        pkg = app.LoadPackage(packageFile, Nothing)
        pkgResults = pkg.Execute()
        MsgBox(pkgResults.ToString())
    Else
        Environment.Exit(-1)
    End If
End Sub