写入CRM Online时出现SQL错误

时间:2016-04-12 04:21:35

标签: c# dynamics-crm-online

我正在寻找调试我在尝试将记录写入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 
    }
);

1 个答案:

答案 0 :(得分:0)

不幸的是,在没有联系MS支持的情况下,无法从在线组织获取更多信息。

如果使用Create / Update而不是Upsert,是否会出现同样的问题?当目标环境与源环境相同时,该怎么办?

我还会尝试修改你的逻辑,以便排除名称之外的所有内容。该问题可能会消失......如果确实如此,请按属性添加属性,直到找到导致问题的属性为止。