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;
            }
        }
    }
  • 相关阅读:
    深入研究Node.js的底层原理和高级使用
    Node.js实际案例分享
    Node.js的下载、安装、配置、Hello World、文档阅读
    Node.js初识
    sphinx初识
    Yii2中后台用前台的代码设置验证码显示不出来?
    彻底解决Yii2中网页刷新时验证码不刷新的问题
    yii2高级模板使用一个域名管理前后台
    Shot(三分)
    遮挡判断(模拟)
  • 原文地址:https://www.cnblogs.com/wangshenhe/p/3048798.html
Copyright © 2011-2022 走看看