AXForum  
Вернуться   AXForum > Блоги > CRM, SharePoint и Черная Магия
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

Добро пожаловать в мой блог! Изначально он не задумывался как блог CRM разработчика, но жизнь сама внесла нужные коррективы. Тут я публикою все свои наблюдения относительно обозначенных в заголовке систем. Если Вы найдете в нем что-то интересное для Вас, как для заказчика, то буду рад сотрудничать с Вами! В моей компетенции 100% задач по MS CRM 3.0/4.0/2011:
  • Консалтинг
  • Проектирование
  • Разработка
  • Обучение


MVP 2010, 2011
Оценить эту запись

Ошибка в диаграммах (charts) при использовании группировки по дате

Запись от Артем Enot Грунин размещена 23.08.2013 в 11:21

Недавно я столкнулся с ошибкой при отображении некоторых (в том числе стандартных!) диаграмм:

Название: charterror.png
Просмотров: 1904

Размер: 7.7 Кб

Сперва я грешил на кривые запросы или раздачу прав доступа, но позже выяснилось, что проблема наблюдается только на производственном сервере. Я отловил запрос, который запускается при прорисовке диаграммы при помощи SQL Profiler и запустил его выполнение вручную. Результат превзошел все мои ожидания:
Цитата:
An error occurred in the Microsoft .NET Framework while trying to load assembly id 65536. The server may be running out of resources, or the assembly may not be trusted with PERMISSION_SET = EXTERNAL_ACCESS or UNSAFE. Run the query again, or check documentation to see how to solve the assembly trust issues. For more information about this error:
System.IO.FileLoadException: Could not load file or assembly 'microsoft.crm.sqlclr.helper, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. Exception from HRESULT: 0x80FC80F1
System.IO.FileLoadException:
at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
at System.Reflection.Assembly.Load(String assemblyString)
Старая добрая ошибка от хранимых CLR процедур, о которой я уже писал недавно: Проблемы с SSIS после обновлений .NET. Вы могли бы спросить, причем же тут CLR? Ответ хранится в запросе к базе: в нем используются CLR функции, например fn_GetFiscalPeriodAndYearCLR. Однако радоваться было рано! Это оказалась не известная мне проблема несовпадения версий, так как в GAC нет сборки microsoft.crm.sqlclr.helper! Проблема уходит глубоко в неисследованную мной тему безопасности SQL Server: http://support.microsoft.com/kb/918040.

Решение заключается в том чтобы прописать базе корректного dbowner и сделать ее trustworthy. Сразу скажу, что владелец и так был вполне себе корректный, и все рабочие базы ни разу не trustworthy. Как бы там ни было, приведенный в статье базы знаний запрос решил проблему:

X++:
ALTER DATABASE Org_MSCRM SET trustworthy ON
  
USE Org_MSCRM
EXEC sp_changedbowner 'DOMAIN\login'
Попытка выключить trustworthy приведет к возвращению ошибки
Размещено в CRM
Просмотров 29420 Комментарии 0
Всего комментариев 0

Комментарии

 


Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 12:17.