Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从VB.NET Windows应用程序执行SSIS包?_Ssis - Fatal编程技术网

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

如何从VB.NET Windows应用程序执行SSIS包?,ssis,Ssis,是否可以从Windows 2005 VB应用程序执行SQL dtsx包 如果是的话,有人能告诉我怎么做或者给我发个链接吗? 我按照以下指示: 但包装的结果是失败。这可能是因为dtsx不在本地计算机上吗?该软件包可自行运行。关于DTS\u E\u PRODUCTLEVELTOLOW错误代码,请参阅 首先,您需要找到文件Microsoft.SqlServer.ManagedDTS.dll并将此资源添加到Visual Studio项目中: 您可以通过转到Project->Add来找到此文件 参考…

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

如果是的话,有人能告诉我怎么做或者给我发个链接吗? 我按照以下指示:
但包装的结果是失败。这可能是因为dtsx不在本地计算机上吗?该软件包可自行运行。

关于DTS\u E\u PRODUCTLEVELTOLOW错误代码,请参阅

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

您可以通过转到Project->Add来找到此文件 参考…->在Visual Studio中浏览,并搜索此 C:\Program Files\Microsoft SQL中的文件 服务器\100\SDK\Assemblies目录。 如果你在那里找不到我身上发生的事,去医院 跑在Windows中提示并输入C:\Windows\assembly\gac\u msil。 然后,在此文件夹的搜索框中,输入文件名 Microsoft.SqlServer.ManagedDTS.dll。将此文件复制粘贴到 更容易找到的地方,并将此引用添加到 您的VisualStudio项目如上所述。 现在,所有这些疯狂的事情都完成了,下面是一个如何在VB.NET中执行.dtsx SSIS包的想法。这是未经测试的,在比我聪明的人的帮助下,他从其他更聪明的人那里得到了这个想法;:


您还需要设置引用导入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

附录:我添加了一个事件侦听器,发现具体的错误消息是:SSIS错误代码DTS_E_PRODUCTLEVELTOLOW。产品级别不足以满足组件。。。软件包的前两个步骤是成功的,但在第三个步骤(数据转换)失败。普遍的共识是SQL Server的版本有问题。你同意吗?如何最好地继续?
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