zoukankan      html  css  js  c++  java
  • C#编程方式执行包的任务

    1.相关DLL
    相关命名空间包含在
    Microsoft.SqlServer.ManagedDTS 中,此DLL包含在SQL SERVER安装分驱的
    \Program Files\Microsoft SQL Server\90\SDK\Assemblies目录中
    2.下面以代码的方式实现以下内容:
       A.创建一个包的执行应用程序
       B.新建一个包
       C.加载一个包
       D.给包参数赋值
       E.获取包的执行信息
       F.Demo下载
    using System;
    using
     System.Collections.Generic;
    using
     System.ComponentModel;
    using
     System.Data;
    using
     System.Drawing;
    using
     System.Text;
    using
     System.Windows.Forms;
    //由于此命名空间有些成员跟其它命名空间有些冲突,因此替换一下

    using dts=Microsoft.SqlServer.Dts.Runtime;

    namespace
     WinSSIS
    {
        
    public partial class
     Form1 : Form
        
    {
            
    public
     Form1()
            
    {
                InitializeComponent();
            }


            
    private void button1_Click(object sender, EventArgs e)
            
    {
                
    if (this
    .openFileDialog1.ShowDialog().Equals(DialogResult.OK))
                
    {
                    
    this.textBox1.Text = this
    .openFileDialog1.FileName;
                    Executepackage(
    this
    .openFileDialog1.FileName);
                }

            }


            
    private void Executepackage(string path)
            
    {
                
    string message=null
     ;
                
    //创建一个DTS执行用应程序

                dts.Application app = new Microsoft.SqlServer.Dts.Runtime.Application();
                
    //新建一个包

                dts.Package package = new Microsoft.SqlServer.Dts.Runtime.Package();
                
    //加载一个包

                package= app.LoadPackage(path,null);
                
    //给包变量赋值

                if(package.Variables.Contains("filePath"))
                
    {
                    package.Variables[
    "filePath"].Value = @"d:\SSIS包路径测试.txt"
    ;
                    
                }

                
    //执行包
                dts.DTSExecResult result= package.Execute();
                
    //获取包的执行信息

                if(result.Equals(dts.DTSExecResult.Failure))
                
    {
                    
    for (int i = 0; i < package.Errors.Count;i++
     )
                    
    {
                        message 
    +=
     package.Errors[i].Description;
                    }

                }


                
    if (result.Equals(dts.DTSExecResult.Success))
                
    {
                    message 
    = "包执行成功成!"
    ;
                }

                
    else
                
    {
                    message 
    = "其它1"
    ;
                }

                MessageBox.Show(message);

            
            }

        }

    }


    Demo下载
  • 相关阅读:
    开发过程中解决各种跨域问题
    使用vux的x-input组件中show-clear=“true”清除icon点击失效的问题
    Vue项目使用域名访问配置
    Taro 压缩图片api
    javascript实现继承的4种方法,以及它们的优缺点
    解决window.opener.obj instanceof Object会输出false的问题
    javascript实现引用数据类型的深拷贝和浅拷贝详解
    javascript检测基本类型值或引用类型值的类型方法
    git merge合并时遇上refusing to merge unrelated histories的解决方案
    vue-router+webpack线上部署时单页项目路由,刷新页面出现404问题
  • 原文地址:https://www.cnblogs.com/zengwei/p/1422848.html
Copyright © 2011-2022 走看看