• 数据仓库之SSIS开发


    1.从cdc捕获到数据以后, 连接ssis进行执行数据的抽取以及转换工作,把需要的数据导入到数据仓库, 

    并且做好对应的日志记录表.现在先说一下比较重要的.

    选择参数化设置数据连接, 以方便后面的配置.

    因为要动态可维护, 这里使用 可执行exe程序进行封装, 然后配置在windows计划任务里面

    下面开始写代码

    首先引入命名空间 和程序集

    using DTS = Microsoft.SqlServer.Dts.Runtime;
    using Microsoft.SqlServer.Dts.Runtime;

    然后开始开发代码

            static void Main(string[] args)
            {
                //更改SSIS包里面的 变量
                string path = @"E:开发测试实例SSIS2012ConSSISConSSISSSISPackegexm_xmbj.dtsx";
    
                DTS.Package dtsPackage = null;
                DTS.Application dtsApplication = null;
    
                dtsApplication = new DTS.Application();
                //指定文件路径加载 package 
                dtsPackage = dtsApplication.LoadPackage(path, null);
    
                Connections v = dtsPackage.Connections; //获取所有的  数据源连接,包括输入和输出
                for (int i = 0; i < v.Count; i++)
                {
                    if (v[i].Name == "XIANGZX.JGBDB.sa")
                    {
                        //指定数据库连接
                        v[i].ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Password=sa123.;Initial Catalog=JGBDB;Data Source=xiangzx";
                    }
                }
    
                DTS.Variables packageVariables1 = dtsPackage.Variables;
                packageVariables1["cdc_xm_xmbj"].Value = "exec [opr_].[cdc_xm_xmbjxx] '2016-05-30 00:00:00','2016-05-31 00:00:00'"; //传递参数 
          
                DTS.DTSExecResult packageResult = dtsPackage.Execute();
    
            }

    特别说一下, 这里 的    Connections v = dtsPackage.Connections; 获取的是 数据库连接配置, 具体的可以查看 dts包文件.

    XIANGZX.JGBDB.sa 是数据库连接的名称.

    这里对其进行修改.(包里面的是测试环境的,现在要发布到正式环境上)

    DTS.Variables packageVariables1 = dtsPackage.Variables;
    packageVariables1["cdc_xm_xmbj"].Value="";

    这里要说一下的是, 这里的 "cdc_xm_xmbj" 是变量.

    有了这些以后,就可以实现从 生产库到数据仓库的数据转换.

  • 相关阅读:
    设计模式学习总结状态模式(State Method)
    设计模式学习总结命令模式(Cmmand Pattern)
    Linux常用命令
    设计模式学习总结代理模式(Proxy Method)
    设计模式学习总结模板方法模式(Template Method)
    设计模式学习总结桥接模式(Bridge Pattern)
    设计模式学习总结适配器模式(Adapter Pattern)
    设计模式学习总结迭代器模式(Iterator Pattern)
    设计模式学习总结责任链模式(Chain of Responsibility Method)
    spingboot @Transactional 不回滚
  • 原文地址:https://www.cnblogs.com/mjxxsc/p/5546592.html
Copyright © 2020-2023  润新知