Dynamics CRM 2011批量更新 [英] Dynamics CRM 2011 Bulk Update

查看:124
本文介绍了Dynamics CRM 2011批量更新的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Running Dynamics CRM 2011首次发布3.需要定期更新数百万个客户记录(增量更新)。使用标准更新(一对一)需要几个星期。另外,我们也不想直接接触数据库,因为它将来可能会破坏数据库。

Running Dynamics CRM 2011 rollout 3. Need to update millions of customer records periodically (delta updates). Using standard update (one by one) takes a few weeks. Also we don't want to touch the DB directly as it may break stuff in the future.

Dynamics CRM 2011 Webservice / REST API中是否存在批量更新方法我们可以用? (WhatWhereHow)

Is there a bulk update method in the Dynamics CRM 2011 webservice/REST API we can use? (WhatWhereHow)

推荐答案

我知道这是2岁以上的帖子,但是我可以添加到其中,以防其他人阅读

I realize this is post is over 2 years old, but I can add to it in case someone else reads it and has a similar need.

Peter Majeed的答案很明确,因为CRM流程一次请求一个记录。没有可以按照您想要的方式进行的批量修改。我鼓励您在需要/需要Microsoft支持时不要直接接触数据库。

Peter Majeed's answer is on target in that CRM processes requests one record at a time. There is no bulk edit that works the way you are looking for. I encourage you not to touch the DB directly if you need/want Microsoft support.

如果您要查看数百万条记录的定期更新,则有几种选择。考虑使用Scribe或使用CRM SDK开发自己的自定义导入实用程序或脚本。

If you are looking at periodic updates of millions of records, you have a few options. Consider using Scribe or develop your own custom import utility or script using the CRM SDK.

抄写器可能是您的最佳选择,因为它对于数据导入具有成本效益,并且可以让您轻松地从同一文件更新和插入。

Scribe is probably going to be your best option since it is cost effective for data imports and will allow you to easily update and insert from the same file.

如果您编写自己的基于.Net / SDK的实用程序,我建议您使其成为多线程的,并以编程方式将您的输入文件分解到内存或磁盘中,并使每个线程与其一起工作自己的数据子集-也就是说,当然,不必根据输入文件的内容按时间顺序执行。如果可以在多个线程上划分和征服输入文件,则可以大大减少整体执行时间。
另外,如果您的公司策略允许您访问其中一台CRM服务器,并且可以将代码直接放在服务器上并从那里执行,则可以消除运行代码的工作站与服务器之间的网络延迟。

If you write your own .Net/SDK based utility, I'd suggest making it multithreaded and either programmatically break up your input file in memory or on disk and have each thread work with its own subset of the data - that is, of course, if the order of execution does not have to be chronological according to the contents of the input file. If you can divide and conquer the input file over multiple threads, you can reduce the overall execution time considerably. Also, if your corporate policy allows you to have access to one of the CRM Servers and you can place your code directly on the server and execute it from there - you can eliminate the network latency between a workstation running the code and the CRM web services.

最后但并非最不重要的一点,如果大量导入数据来自另一个系统,则可以编写一个CRM插件以在CRM系统上运行在您的特定实体的CRM中检索和检索多条消息(事件),以编程方式从另一个系统检索所需的数据(如果另一个系统不可用-只需使用CRM中的缓存副本),并实时更新CRM,时间或最后缓存时间。当然,这是更多的编码工作,但它可能消除了每隔几周运行一次大型同步作业的需要。

Last but not least, if this large volume of import data is coming from another system, you can write a CRM plug-in to run on the Retrieve and RetrieveMultiple messages (events) in CRM for your specific entity, programmatically retrieve the desired data from the other system (and if the other system is unavailable - just use the cached copy in CRM), and keep CRM up to date in real-time or on a 'last-cached-on' basis. This is certainly more coding effort, but it potentially eliminates the need for a large synchronization job to be run every few weeks.

这篇关于Dynamics CRM 2011批量更新的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆