zoukankan      html  css  js  c++  java
  • 使用SSIS包调度开发的包

    在项目中,开发完自己的packages之后,需要使用agentjob之类的服务来调度自己的package,当然我们也可以使用一个package来调度这些,下面就是我的一个简单的尝试.

    没有设计得像Agentjob那样复杂,agentjob中的每一个job都包含schedule,然后每一个job有若干个step,每一个step之间还是有依赖关系.

    我的设计很简单,就是使用一个csv文件保存三列值,一列是order,一列是batfilename,第三列是isenabled.

    分别表示执行顺序,batch file的名字,(其实也可以设计成包的路径)和是否执行.

    示例如下:

       

    我暂且就叫它MainFrame,它的基本结构如下:

       

    除了执行之外,我还想获取执行过程中返回的信息,存储到一个文件中去,所以添加了一些变量,另外一个考虑是方便配置.

    Step1.使用一个Dataflowtask读取csv文件的内容到一个recordset.

    Step2.使用foreach loop组件遍历这个Recordset,然后分别进行处理.

    如果isenabled是true,则就是需要执行的batch file.则使用Execute process task执行.

    然后写入返回的结果即可.

    Data flow task的内容如下:

    Execute process task的配置如下:

    最后一个script task的代码基本如下:

    string _errorinfo=Dts.Variables["User::var_outputfile"].Value.ToString();

    string _outputinfo= Dts.Variables["User::var_outputfile"].Value.ToString();

    StringBuilder sbcontent = new StringBuilder();

    sbcontent.Append("outputinfo:");

    sbcontent.Append(_outputinfo);

    sbcontent.Append(Environment.NewLine);

    sbcontent.Append("errorinfo:");

    sbcontent.Append(_errorinfo);

    sbcontent.Append(Environment.NewLine);

    File.AppendAllText(_filename,sbcontent.ToString());

    全部流程没有经过完全的测试,可能需要稍微调整一些内容.

    仅供学习参考.

    我们还可以再添加一些有用的内容,譬如执行完成后发邮件通知等等.这样更方便.

       

       

    Looking for a job working at Home about MSBI
  • 相关阅读:
    C#文件操作与编程
    C# 中字符串转换成日期
    C#数据类型与数据库字段类型对应
    C# 知识点随手学习网站推荐
    Java -- 线程
    Java -- IO
    Java -- Swing 组件使用
    Java -- 乒乓球 乒乓弹球游戏
    Java -- AWT 画图,图像处理
    Java -- AWT 菜单建立, Menu, 右键菜单
  • 原文地址:https://www.cnblogs.com/huaxiaoyao/p/3629845.html
Copyright © 2011-2022 走看看