當需要匯入匯出大量的資料時,尤其是異質的資料(例如把Access的mdb資料匯入到MS-SQL),使用SSIS的方式速度是最快的,而且可以在SQL Server Management Studio裡面,直接在操作匯入匯出的時候,把過程儲存成SSIS的格式(.DTSX)。下次有相同的匯入匯出動作,就可以直接透過儲存的dstx來使用。

如果想在程式中執行DTSX,可以透過以下的方式處理

  1. 在專案中,要加入參考【Microsoft.SQLServer.ManagedDTS】
  2. Imports Microsoft.SqlServer.Dts.Runtime
  3. 相關程式碼如下:
    Dim pkg As String = "D:\DTSX\MyImport.dtsx"    'DTSX檔案路徑
    Dim app As Application = New Application()
    Dim p As Package = app.LoadPackage(pkg, Nothing)
    
    Dim vir As Variables = p.Variables
    
    If Not p.Execute(Nothing, vir, Nothing, Nothing, Nothing) = DTSExecResult.Success Then
       Throw New Exception("NICE.mdb檔案匯入SQL失敗!!")
    Else
        Return "Success"
    End If

可以在程式中執行,那麼無論是透過畫面的按鈕,還是排程都可以處理這樣的動作了!!


另外要注意的是,如果是使用Web Service或者是ASP.NET的話,可能要注意一下權限的問題


Microsoft MVP
Microsoft MVP ASP/ASP.NET


topcat
Blog:http://www.dotblogs.com.tw/topcat