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;
            }
        }
    }
  • 相关阅读:
    Redis 主从复制与哨兵
    前端面试中让你困惑的闭包、原型、原型链究竟是什么?
    Chrome V8系列--浅析Chrome V8引擎中的垃圾回收机制和内存泄露优化策略[转]
    nodejs 制作项目目录树代码
    nprogress页面加载进度条
    koa2 从入门到进阶之路 (一)
    原生js 封装好了的ajax 带钩子版本 可封装成对象
    JS
    Javascript面向对象编程(三):非构造函数的继承
    Java 内部类
  • 原文地址:https://www.cnblogs.com/wangshenhe/p/3048798.html
Copyright © 2011-2022 走看看