Các tùy chọn có sẵn để chạy một gói SSIS là -
- Run gói lập trình sử dụng SSIS Object Model. Điều này được thảo luận chi tiết trong Sách trực tuyến here.
Một thí dụ:
using System;
using Microsoft.SqlServer.Dts.Runtime;
namespace RunFromClientAppCS
{
class Program
{
static void Main(string[] args)
{
string pkgLocation;
Package pkg;
Application app;
DTSExecResult pkgResults;
pkgLocation = "<package path>\CalculatedColumns.dtsx";
app = new Application();
pkg = app.LoadPackage(pkgLocation, null);
pkgResults = pkg.Execute();
Console.WriteLine(pkgResults.ToString());
Console.ReadKey();
}
}
}
quá trình Bắt đầu DTEXEC.EXE. DTEXEC là tiện ích dòng lệnh để thực hiện các gói SSIS. Xem các tùy chọn dòng lệnh here.
Sử dụng tác nhân SQL. Bạn có thể cấu hình một tác vụ Agent để chạy gói của bạn (hoặc làm thủ công trước nếu gói là tĩnh, hoặc lập trình sử dụng SMO hoặc sử dụng các thủ tục lưu sẵn SQL ngay trước khi chạy gói), và sau đó bắt đầu lập trình bằng SMO hoặc sp_start_job.
Sử dụng một số tiện ích khác để khởi động DTEXEC cho bạn.
Tạo ứng dụng tùy chỉnh sẽ chạy gói (sử dụng OM như được mô tả trong phương pháp # 1 hoặc sử dụng DTEXEC như trong phương pháp # 2). Hiển thị nó như một dịch vụ web hoặc lớp DCOM, gọi dịch vụ này từ chương trình của bạn.
Invent :) riêng bạn
tham khảo: Running SSIS Package Programmatically
Im sử dụng giải pháp của bạn cho một Winform. Tôi nhận được squigglies đỏ dưới đây: 'Ứng dụng ứng dụng;', 'app = new Application();', và 'pkg = app.LoadPackage (pkgLocation, null)'; với các ngoại lệ sau: 'Lỗi 'Ứng dụng' là tham chiếu mơ hồ giữa 'System.Windows.Forms.Application' và 'Microsoft.SqlServer.Dts.Runtime.Application' \t' và 'Lỗi Loại ' System.Windows.Forms.Application 'không có hàm tạo nào được định nghĩa' - tôi cần thay đổi gì cho Winform? –