Gelişmiş Bul kayıtlarını Excel'e vermeye çalışırken aşağıdaki ekran görüntüsündeki gibi "SQL Server Hatası" alabiliriz.
EventViewer üzerinden verilen hataya baktığımızda hatanın sebebi aşağıdaki gibidir.
The Web Service plug-in failed in OrganizationId: 9e0f4dea-3ce2-43ba-920a-0cc0000be3a7; SdkMessageProcessingStepId: 8ad3883a-92e9-4d4c-837e-74a85a9628c7; EntityName: none; Stage: 30; MessageName: ExportDynamicToExcel; AssemblyName: Microsoft.Crm.Extensibility.InternalOperationPlugin, Microsoft.Crm.ObjectModel, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35; ClassName: Microsoft.Crm.Extensibility.InternalOperationPlugin; Exception: Unhandled Exception: System.Threading.ThreadAbortException: Thread was being aborted.
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Web.Services.Protocols.LogicalMethodInfo.Invoke(Object target, Object[] values)
at Microsoft.Crm.Extensibility.InternalOperationPlugin.Execute(IServiceProvider serviceProvider)
at Microsoft.Crm.Extensibility.V5PluginProxyStep.ExecuteInternal(PipelineExecutionContext context)
at Microsoft.Crm.Extensibility.VersionedPluginProxyStepBase.Execute(PipelineExecutionContext context)
.
Sorunun kaynakları
1- Gelişmiş Bul'da kullanılan sorgu 10000'den fazla kayıtla sonuçlanabilir.
2- CRM in dışarı excel export için OBB limiti 10000 dir.
3-Eğer kullanılan CRM in on-premise ise , maximum excele verme sayısı bizim vermeye çalıştığımız sayıdan azdır.
Bunun için aşağıdaki sorgu ile limitimizi öğrenebiliriz.
select MaxRecordsForExportToExcel from Organization
Çözüm
MaxRecordsForExportToExcel değerini artıralım.
Bunun için support ve unsupported yöntemler vardır.
Supported Yöntem
CRM Sdk ı kullanarak MaxRecordsForExportToExcel değerini güncelleyelim.
Organization organization = new Organization();
organization.Id = new Guid("9E0F4DEA-3CE2-43BA-920A-0CC0000BE3A7");
organization.MaxRecordsForExportToExcel = 300000; // Set desired value
crmService.Update(organization);
UnSupported Yöntem
Sql update yöntemi ile OrganizationBase tablomuzu güncelleyelim.
UPDATE OrganizationBase
SET MaxRecordsForExportToExcel = 300000
Not : Yukarıdaki çözüm ile hatamız düzelmez ise rollup güncellemesi yapalım. Bu şekilde de sorunu çözebiliriz.
Hiç yorum yok:
Yorum Gönder