當需要匯入匯出大量的資料時,尤其是異質的資料(例如把Access的mdb資料匯入到MS-SQL),使用SSIS的方式速度是最快的,而且可以在SQL Server Management Studio裡面,直接在操作匯入匯出的時候,把過程儲存成SSIS的格式(.DTSX)。下次有相同的匯入匯出動作,就可以直接透過儲存的dstx來使用。
如果想在程式中執行DTSX,可以透過以下的方式處理
- 在專案中,要加入參考【Microsoft.SQLServer.ManagedDTS】
- Imports Microsoft.SqlServer.Dts.Runtime
- 相關程式碼如下:
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的話,可能要注意一下權限的問題
