zoukankan      html  css  js  c++  java
  • SSIS用7z.zip解压文件后导入数据库.(二)

    接上步.也就是成功后(表示有今天的文档,具体就看上篇的代码)那么按题意就是要删除表里的数据.然后解压.
    但是大家都能看到.我们是在遍历文件.不可能每次都删除文档.这里我用了个变量,来按他只删除一次文档.在这里,我在把这个总体图发一次.
    (可能有人会问,为什么删除数据不放前面.因为不能保证是否有今天文档.其实也有一个方法.就是用时序容器的事务性.当遍历文件失败后因事务就会还原删除的数据.可惜我不会设置)
    在这,我先把那线的含义给说下.绿色表示成功,红色表示失败,蓝色表示完成(不管是成功还是失败)
    线上有个框框上有fx表示是表达式.可以看到线1和线2上都要求成功和表达式,那可以看一下.
    线1图:
    线2图:(看到下面的多个条件约束没.那里是OR,对应上面图的虚线.呵呵,大家应该猜到了.线3图也是OR)
    线3图:
    先说下IsHaveData是什么,这个值默认是FASLE,但是他如果经过transfer data成功后,会执行一段指令.很简单,
    就是把IsHaveData设为TRUE;那这里三线就表示,如果有今天的数据,那么如果IsHaveData是FASLE,表示没有
    插入数据.那么他就会删除数据(此时走线1,然后走线3).然后解压文件.再插入数据后,他就会再去走线路2,直接解压.
    而线3和线2为Or的关系,表示只要有一样完成,就开始解压文件.
    解压文件是利用组件执行处理工作.如下设置相应属性.
    1.关联要处理的应用程序.
    2.设置程序要的执行命令参数.
        那么,在这里就已经把文件给解压了(希望有人不要问我那个OutCommand是如何来的).那下一步就是transfer data,在上面双击后
    如下图所示.
     
    在上面对应的有数据来源.数据转换.数据目的地三个部分.
    连接管理器里我们看前二个.一个是数据目的的数据库连接.另一个是数据来源的数据.
    在这里我们解压后的文件是csv文档.所以我们选择是一般文档连接.
    如下图
    可以知道,在运行过程中,我们是不知道档案名称,所以我们也是根据前面指令动态生成的档案名称.就是设置表达式里的connectionString里的属性.
    但是在这之前我们程序没有运行,OutFileName没值,我们可以先在上面指定一个和OutFileName文件里同样式属性的文件,用来设置相关资料.而在运行时
    他会自动把档案名称根据表达式给换成OutFileName,还是很强大的.
    下面的SQL连接就不说了,自己搞搞就全知道了.
      然后我们把数据来源上的连接连到我们刚刚设置好的mrpexecl,而目的地连接上面的SQL连接.然后你选择要他们资料行的对应关系就好.
     
    下面第三页简单的说下文件A的处理(和B的差不多一样,就说下不一样的部分.)然后说下文件备份和删除.
  • 相关阅读:
    【C#食谱】【风味小吃】菜单2:角度转换为弧度
    16 Rules for Managers
    word打不开,要在安全模式下才能打开
    禁止修改IP地址工具及原理
    VB编程读取本地计算机IP地址及MAC地址
    联想TinkCenter 8000T 安装XP需要修改CMOS
    使用nLite封装2003集成Raid卡驱动
    怎么样让台式机通过笔记本无线上网 台式机共享上网 笔记本当无线路由器 两台电脑一根网线
    VB使用ADODB操作数据库的常用方法
    转:[震惊] 这两天发现被穿的真正原因——QQ电脑管家
  • 原文地址:https://www.cnblogs.com/zhouxin/p/1597517.html
Copyright © 2011-2022 走看看