zoukankan      html  css  js  c++  java
  • [转]C#调用SSIS包(DTS)

    首先,有两种调用方式:直接用(需要引用Microsoft.SqlServer.DTSRuntimeWrap.dll), 通过Web Service进行执行SSIS.

    如果是直接调用那么需要引用Microsoft.SqlServer.DTSRuntimeWrap.dll,客户端需要安装MS SQL 2005的客户端组件,调用的代码如下:

    using System;
    using System.Data;
    using System.Collections.Generic;
    using System.Text;
    using System.Data.Common;
    using System.Configuration;
    using DtsRunTime = Microsoft.SqlServer.Dts.Runtime.Wrapper;
    
    namespace SQLHelper
    {
        public class CallSSIS{
            private string YOUR_SERVER_NAME  = ConfigurationManager.AppSettings["DTSServerName"].ToString();
            private string YOUR_PACKAGE_NAME = ConfigurationManager.AppSettings["DTSPackageName"].ToString();
            private string SQL_USER          = ConfigurationManager.AppSettings["DTSSQLUser"].ToString();
            private string SQL_PASSWORD      = ConfigurationManager.AppSettings["DTSSQLPassword"].ToString();
    
            /// <summary>
            /// Run DTS for SQL 2005.
            /// </summary>
            //===============================================================
            // Revision History
            // Date          Author                   Description
            // 12/07/2009    Terry Sun                Created
            //===============================================================
            public int DTSRun2005()
            {
                
                DtsRunTime.Application dtsApplication = new DtsRunTime.Application();
                // Call the .dtsx file.
                //DtsRunTime.IDTSPackage90 package = dtsApplication.LoadPackage(@"c:\test.dtsx", true, null);
    
                // Call SSIS package from SQL Server.
                DtsRunTime.IDTSPackage90 package = dtsApplication.LoadFromSQLServer(
                    this.YOUR_PACKAGE_NAME, 
                    this.YOUR_SERVER_NAME, 
                    this.SQL_USER,
                    this.SQL_PASSWORD,
                    true, 
                    null);
                
                DtsRunTime.DTSExecResult result = package.Execute();
                if (result.Equals(DtsRunTime.DTSExecResult.DTSER_SUCCESS))
                    return 1;
                else
                    return 0;
            }
        }
    }
  • 相关阅读:
    杭电1212--Big Number
    杭电1407--Integer Inquiry
    杭电1201--18岁生日
    刚刚创建了这个分组, 也想说叨说叨 。
    南阳325--zb的生日
    杭电1239--Calling Extraterrestrial Intelligence Again
    南阳891--找点(区间覆盖)
    杭电1234--开门人和关门人
    杭电1862--EXCEL排序
    模拟:HDU1034-Candy Sharing Game
  • 原文地址:https://www.cnblogs.com/wangshenhe/p/3048798.html
Copyright © 2011-2022 走看看