Dynamics CRM用户创建后自动添加到团队报错

Posted 随乄风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dynamics CRM用户创建后自动添加到团队报错相关的知识,希望对你有一定的参考价值。

前两天在实现一项需求——用户创建后自动添加到一个叫做“全体员工”的团队的时候,遇到了一个奇怪的错误,CRM的错误日志只有一句简单的“Generic SQL error.”。一般遇到这个错误处理都非比较棘手,因为已经不是应用层出现的,一般都出现在数据库层面了。

这样简单的提示肯定没法发现问题,于是找遍了操作系统的日志查看器、sql server的错误日志,没有找到有用的信息,最后不得已,只好开启tracing service,从长长的日志中发现了一句关键的提示:System.Data.SqlClient.SqlException: 不能在具有唯一索引“cndx_SystemUserPrincipals”的对象“dbo.SystemUserPrincipals”中插入重复键的行。重复键值为 (e5318580-6476-e711-80f9-a3bb6ffaa102, b6a6f70a-ed6c-e711-80f9-a3bb6ffaa102)。从字面上来看是因为dbo.SystemUserPrincipals已经存在关于这个用户和这个团队的记录了,但这个用户明明是新建的,按道理来说不应该出现在这个表中的,所以通过提示并不能了解到具体是什么原因导致错误,于是把这个作为关键字进行搜索,最终找到国外的社区中有人遇到的同样情况,推荐造成这个错误的原因应该是SystemUser的POSTOPERATION事件触发时系统并没有全部完成创建操作导致的,只需要把原来的插件改为异步执行即可。

以上是关于Dynamics CRM用户创建后自动添加到团队报错的主要内容,如果未能解决你的问题,请参考以下文章

Dynamics CRM - 创建插件以将新的逻辑运算符添加到高级查找中

Dynamics 365 CRM Connected Field Service 自动发送command

Dynamics CRM EXCEL导入数据字段类型为选项集时的注意事项

Dynamics CRM 安装CRM程序系统检查界面报未将对象引用设置到对象的实例的解决方法

Dynamics CRM 2016 不跟踪电子邮件回复

Dynamics CRM 之团队模板