Столкнулся со странной ошибкой при попытке добавить отчёт SCSM в избранные отчёты. Настроил параметры отчёта, нажал добавить в "Избранные отчёты". Назвал отчёт следующим образом "Все инциденты находящиеся в работе с понедельника текущей недели по сегодняшний день" и нажал "ОК".
Отчёт добавился в избранные, но при переходе на вкладку столкнулся с ниже приведённой ошибкой.
Дата: 08.12.2011 10:06:11
Приложение: System Center Service Manager
Версия приложения: 7.0.6555.0
Серьезность: Ошибка
Сообщение:
Недопустимая длина массива знаков Base-64.
System.FormatException: Недопустимая длина массива знаков Base-64.
в System.Convert.FromBase64String(String s)
в Microsoft.EnterpriseManagement.UI.SdkDataAccess.DataAdapters.SrsDataAdapterBase.TryGetInstanceId(IDictionary`2 parameters, String& instanceId)
в Microsoft.EnterpriseManagement.UI.SdkDataAccess.DataAdapters.EnterpriseFavoriteReportAdapter.GetDataFromSRS(ServiceManagerReportingGroup reportingGroup, AdapterQueryParameters queryParameters)
в Microsoft.EnterpriseManagement.UI.SdkDataAccess.DataAdapters.SrsDataAdapter`1.DoAction(DataQueryBase query, IList`1 dataSources, IDictionary`2 parameters, IList`1 inputs, String outputCollectionName)
в Microsoft.EnterpriseManagement.UI.SdkDataAccess.SdkNodeProvider.GetDataFromAdapter(Uri adapterAddress, IList`1 dataSources, IDictionary`2 parameters, IList`1 inputs)
в Microsoft.EnterpriseManagement.UI.SdkDataAccess.SdkNodeProvider.GetNode(Uri providerRoot, NavigationModelNodeBase parentNode, String nodeName)
в Microsoft.EnterpriseManagement.ConsoleFramework.NavigationNodeProvider.GetNode(Uri providerRoot, Uri nodeLocation)
в Microsoft.EnterpriseManagement.ConsoleFramework.NavigationModelAdaptor.GetNode(DataQueryBase query, IDictionary`2 parameters)
в Microsoft.EnterpriseManagement.ConsoleFramework.NavigationNodeProvider.GetNode(Uri providerRoot, Uri nodeLocation)
в Microsoft.EnterpriseManagement.ConsoleFramework.NavigationModelAdaptor.GetNode(DataQueryBase query, IDictionary`2 parameters)
в Microsoft.EnterpriseManagement.ConsoleFramework.NavigationNodeProvider.GetNode(Uri providerRoot, Uri nodeLocation)
в Microsoft.EnterpriseManagement.ConsoleFramework.NavigationModelAdaptor.GetNode(DataQueryBase query, IDictionary`2 parameters)
в Microsoft.EnterpriseManagement.ConsoleFramework.NavigationNodeProvider.GetNode(Uri providerRoot, Uri nodeLocation)
в Microsoft.EnterpriseManagement.ConsoleFramework.NavigationModelAdaptor.GetNode(DataQueryBase query, IDictionary`2 parameters)
в Microsoft.EnterpriseManagement.ConsoleFramework.NavigationModelAdaptor.DoAction(DataQueryBase query, IList`1 dataSources, IDictionary`2 parameters, IList`1 inputs, String outputCollectionName)
в Microsoft.EnterpriseManagement.UI.DataModel.QueryQueue.StartExecuteQuery(Object sender, ConsoleJobEventArgs e)
в Microsoft.EnterpriseManagement.ServiceManager.UI.Console.ConsoleJobExceptionHandler.ExecuteJob(IComponent component, EventHandler`1 job, Object sender, ConsoleJobEventArgs args)
Анамнез:
Не поддерживаются наименования отчётов на русском языке длиннее 20 символов (по крайне мере доказал на своем опыте 32, 28, 23 не вошло - ошибку см. выше.);
Что делать:
На сервере, где установлен DW заходим в консоль управления SQL сервер, находим в базе DWStagingAndConfig таблицу dbo.FavoriteReport.
Обновляем закладку избранные отчёты (F5): отчёт вызывающий ошибку исчез.
Ну и создавать короткие русскоязычные имена для отчётов. Кстати, подобных проблема с англ. языком я так и не заметил.
http://social.technet.microsoft.com/Forums/ru-RU/infrastructureru/thread/9f094565-7ad5-4511-a7fc-31f9ebe0f069
Отчёт добавился в избранные, но при переходе на вкладку столкнулся с ниже приведённой ошибкой.
Дата: 08.12.2011 10:06:11
Приложение: System Center Service Manager
Версия приложения: 7.0.6555.0
Серьезность: Ошибка
Сообщение:
Недопустимая длина массива знаков Base-64.
System.FormatException: Недопустимая длина массива знаков Base-64.
в System.Convert.FromBase64String(String s)
в Microsoft.EnterpriseManagement.UI.SdkDataAccess.DataAdapters.SrsDataAdapterBase.TryGetInstanceId(IDictionary`2 parameters, String& instanceId)
в Microsoft.EnterpriseManagement.UI.SdkDataAccess.DataAdapters.EnterpriseFavoriteReportAdapter.GetDataFromSRS(ServiceManagerReportingGroup reportingGroup, AdapterQueryParameters queryParameters)
в Microsoft.EnterpriseManagement.UI.SdkDataAccess.DataAdapters.SrsDataAdapter`1.DoAction(DataQueryBase query, IList`1 dataSources, IDictionary`2 parameters, IList`1 inputs, String outputCollectionName)
в Microsoft.EnterpriseManagement.UI.SdkDataAccess.SdkNodeProvider.GetDataFromAdapter(Uri adapterAddress, IList`1 dataSources, IDictionary`2 parameters, IList`1 inputs)
в Microsoft.EnterpriseManagement.UI.SdkDataAccess.SdkNodeProvider.GetNode(Uri providerRoot, NavigationModelNodeBase parentNode, String nodeName)
в Microsoft.EnterpriseManagement.ConsoleFramework.NavigationNodeProvider.GetNode(Uri providerRoot, Uri nodeLocation)
в Microsoft.EnterpriseManagement.ConsoleFramework.NavigationModelAdaptor.GetNode(DataQueryBase query, IDictionary`2 parameters)
в Microsoft.EnterpriseManagement.ConsoleFramework.NavigationNodeProvider.GetNode(Uri providerRoot, Uri nodeLocation)
в Microsoft.EnterpriseManagement.ConsoleFramework.NavigationModelAdaptor.GetNode(DataQueryBase query, IDictionary`2 parameters)
в Microsoft.EnterpriseManagement.ConsoleFramework.NavigationNodeProvider.GetNode(Uri providerRoot, Uri nodeLocation)
в Microsoft.EnterpriseManagement.ConsoleFramework.NavigationModelAdaptor.GetNode(DataQueryBase query, IDictionary`2 parameters)
в Microsoft.EnterpriseManagement.ConsoleFramework.NavigationNodeProvider.GetNode(Uri providerRoot, Uri nodeLocation)
в Microsoft.EnterpriseManagement.ConsoleFramework.NavigationModelAdaptor.GetNode(DataQueryBase query, IDictionary`2 parameters)
в Microsoft.EnterpriseManagement.ConsoleFramework.NavigationModelAdaptor.DoAction(DataQueryBase query, IList`1 dataSources, IDictionary`2 parameters, IList`1 inputs, String outputCollectionName)
в Microsoft.EnterpriseManagement.UI.DataModel.QueryQueue.StartExecuteQuery(Object sender, ConsoleJobEventArgs e)
в Microsoft.EnterpriseManagement.ServiceManager.UI.Console.ConsoleJobExceptionHandler.ExecuteJob(IComponent component, EventHandler`1 job, Object sender, ConsoleJobEventArgs args)
Анамнез:
- Избранные отчёты с англ. наименованиями успешно создаются, добавляются во вкладку избранные и успешно работают;
- Проблема с отчётами только с русскоязычным наименованием;
- Проверил Collation SQL Server и БД Cyrillic_General_100_CI_AS, а Collation SSRSLatin_General_CI_AS_KS_WS (SSRS устанавливался в режиме Native в конфигурации по-молчанию);
Не поддерживаются наименования отчётов на русском языке длиннее 20 символов (по крайне мере доказал на своем опыте 32, 28, 23 не вошло - ошибку см. выше.);
Что делать:
На сервере, где установлен DW заходим в консоль управления SQL сервер, находим в базе DWStagingAndConfig таблицу dbo.FavoriteReport.
В ней выполняем запрос:
SELECT * FROM DWStagingAndConfig.dbo.FavoriteReport WHERE DWStagingAndConfig.dbo.FavoriteReport.FavoriteReportName='Имя_отчёта_вызывающего_ошибку'
Находим в результатах поле FavoriteReportId и выполняем следующий запрос:
DELETE FROM DWStagingAndConfig.dbo.FavoriteReport WHERE DWStagingAndConfig.dbo.FavoriteReport.FavoriteReportId=' FavoriteReportId_отчёта_вызывающего_ошибку';
Обновляем закладку избранные отчёты (F5): отчёт вызывающий ошибку исчез.
Ну и создавать короткие русскоязычные имена для отчётов. Кстати, подобных проблема с англ. языком я так и не заметил.
http://social.technet.microsoft.com/Forums/ru-RU/infrastructureru/thread/9f094565-7ad5-4511-a7fc-31f9ebe0f069