【原创】利用SSIS处理系统数据的迁移初体验

        在新旧软件系统交替的时候,通常需要将老系统的数据迁移到新的软件系统。使用什么工具好呢,1、自己编写数据升级的程序,太麻烦!要考虑的方面太多!2、使用ms sql server 2000的DTS, 功能比较单一,不能满足要求! 3、使用SSIS,集成在开发工具VS2005中,很方便使用,且功能强大! 所以采用了这种方法。数据流如下:

image

    • 要考虑Oracle表中的序列字段,怎么获取序列,我使用的是脚本组件Script Component,在脚本组件中添加Oracle的数据库连接。

             

      ContractedBlock.gif ExpandedBlockStart.gif Code
              Dim conn As OracleConnection 
              conn 
      = CType(Me.Connections.Connection.AcquireConnection(Nothing), OracleConnection) 
              
      Dim command As New OracleCommand 
              
      command.Connection = conn 
              
      command.CommandType = CommandType.Text 
              
      command.CommandText = "select s_fs_tanancy_price.nextval as id from dual" 
              Row.indentity 
      = command.ExecuteScalar().ToString()

      注意:要采用ADO.Net的连接方式,若使用OLEDB连接会出现错误,提示COM无法转换为.net类型。

    • 考虑数据迁移中表中某些字段的内容已经成为了外键,那么就使用Lookup组件,或者脚本组件。我使用的是脚本组件,因为我是新手,总觉得代码灵活些,但是不知道性能和Lookup组件有啥区别。代码如下:

             

      ContractedBlock.gif ExpandedBlockStart.gif Code
              command.CommandText = String.Format("select 。。。。"
              
      Me.Log(String.Format("{0}-{1}", Row.indentity, Row.车型), 0, x) 
              Row.车型 
      = command.ExecuteScalar().ToString()

       

    • 另外,为了查看处理过程中的数据,可以在连接线上增加查看器DataViewer,选中连接线,右键,查看器,打开窗口,设置要查看的列和显示形式就可以了,很简单和实用。
    • 遇到另外一个问题是,Excel导入的数据有一列数据明明有数据,在查看器中显示为null,很奇怪,传上excel附件,希望高手帮忙看看。

转载于:https://www.cnblogs.com/seanyy/archive/2009/01/15/1376468.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值