使用SSIS对Dynamics CRM 系统进行数据迁移

    嗨,各位。最近项目一直都很忙,并且自己也一直在思考职业发展的问题,所以有很长一段时间没静下心写几篇Blog了。最近我参与的项目是Dynamics CRM 2011 到 Dynamics CRM 2013 Online的数据迁移,刚好接着今天这个机会和大家分析一下数据迁移的心得吧。

    读过我之前文章的朋友肯定记得我把Dynamics CRM的接口分为了两大类:1)功能接口,2)数据接口。今天要说的数据迁移可以理解为数据接口,实现数据接口的方式有很多种,比如C#制作的程序,数据库层的SQL 脚本,以及今天我要和给大家介绍的主角SQL Server Integration Service(SSIS)。

    为什么要使用SSIS呢?肯定是简单了,SSIS提供了功能丰富的控件给我们使用,比如:FTP控件,Excel控件,以及大量五花八门的控件以及第三方组件。回到今天我们的话题,如何使用SSIS实现Dynamics CRM 2011 与 Dynamics CRM 2013之前的数据迁移呢?我们有两种方案可选:1)使用Script Component编写Proxy来处理Dynamics CRM数据的CRUD操作,2)使用第三方的Dynamics CRM Component实现Dynamics CRM数据的CRUD操作。

    这里就要根据项目情况来进行把控了,如果数据量不是很多,且数据结构简单,当然是用ScriptComponent了,反之则是第三反的收费组件,例如:Cozyroc, KingwaySoft SSIS Integration Toolkit for Dynamics CRM。顺便提下,第二个组件是又咱们的Daniel Cai开发的。

    在数据迁移的过程中,最麻烦的事情还是处理特殊结构的实体,例如活动类型的实体Service Appointment,以及包含Party List 控件的Opportunity实体。对于这些实体我们需要做额外的数据处理,当然还是能实现的。接下来介绍几个在制作SSIS Pacakge中比较有用的方法吧:

1. 将SSIS Project 的WorkOffline设置为False: SSIS Menu-->Work Offline


2.使用数据源的Expressions设置晚期绑定数据源连接信息


3.可以使用Package Level Variable 和 Project Level Variable 保存一些重要的验证信息


4.如果Package经常出现死锁,可以将Package的TransactionOption设置为NotSupported。以及修改IsolationLevel设置。


大致就是以上几点,希望对大家有帮助,如果给位有好的建议欢迎和我交流。 :)




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值