我正在寻找调试我在尝试将记录写入CRM Online时遇到的错误的方法:
类型'System.ServiceModel.FaultException`1'的未处理异常 发生在Microsoft.Xrm.Sdk.dll
其他信息:通用SQL错误。
我正在从一个CRM实例读取数据,剥离值并使用upsertrequest
写入另一个CRM实例。两个CRM实例都安装了相同的solution
,因此自定义应该相同。
我正在剥离的系统字段包括有关所有权,创建,修改等信息等。
因为它是CRM Online,所以我无法弄清楚如何识别错误是什么。对于内部部署实例,您可以通过SQL分析或检查CRM跟踪日志来解决这个问题,但这两个选项都不适用于CRM Online。
有人有任何建议吗?
// read the record from the Source environment
// columnSet_contact is a sub-set of columns excluding ownership details
var sourceContact = source.OrganizationServiceProxy.Retrieve
(
"contact",
contactid,
columnSet_contact
);
// Contact requires TransactionCurrencyID
sourceContact.Attributes["transactioncurrencyid"] = new EntityReference
(
"transactioncurrency",
targetEnvCurrencyId // id of Currency in target env retrieved previously
);
// write to target environment
target.OrganizationServiceProxy.Execute
(
new XrmMessages.UpsertRequest
{
Target = sourceContact
}
);
答案 0 :(得分:0)
不幸的是,在没有联系MS支持的情况下,无法从在线组织获取更多信息。
如果使用Create / Update而不是Upsert,是否会出现同样的问题?当目标环境与源环境相同时,该怎么办?
我还会尝试修改你的逻辑,以便排除名称之外的所有内容。该问题可能会消失......如果确实如此,请按属性添加属性,直到找到导致问题的属性为止。