2010-03-30 64 views
0

是否可以从Windows 2005 VB应用程序执行SQL dtsx包?如何从VB.NET Windows应用程序执行SSIS包?

如果是这样,有人可以告诉我如何或给我一个链接?
我按照指示: http://www.bigresource.com/Tracker/Track-ms_sql-xAKCmQKI/但包结果失败。这可能是因为dtsx不在本地机器上?该软件包本身工作。

+0

附录:我添加了一个事件侦听器,发现特定错误消息:“SSIS错误代码DTS_E_PRODUCTLEVELTOLOW产品等级不足,分量...” 该软件包的前两个步骤是成功的,但在第三个数据转换时失败。 普遍认为SQL Server的版本存在问题。你同意吗?如何继续下去? – 2010-03-30 18:08:30

回答

0


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

  1. 你也许能够要在Visual Studio中使用Project --> Add
    Reference... --> Browse
    来查找此文件,并在您的0中搜索此
    文件目录。


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



所以,现在所有这些疯狂的事情做,这里有一个如何在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 
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