2010-03-30 72 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