|
|
|
SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...
|
|||
|---|---|---|---|
|
#18+
При попытке чтения некоторых свойств объекта DB = Server.Databases.Item("MyDB") обнаружил интересную особенность: Следующие свойства: CreatedTimestamp, ID, IsLoaded, LastProcessed, LastSchemaUpdate, LastUpdate, Name, SiteID, State читаются нормально. А вот при попытке прочесть одно из свойств: Accounts, AggregationPrefix, Collation, DatabasePermissions, DataSourceImpersonationInfo, DataSources, DataSourceViews, DbStorageLocation, Dimensions, EstimatedSize... получаю ошибку: Microsoft.AnalysisServices: Deserialization failed: The 'DbStorageLocation' element in the 'http://schemas.microsoft.com/analysisservices/2008/engine/100/100' namespace is unexpected. Причем... не важно, какое из свойств я пытаюсь прочесть: Collation или DbStorageLocation, ошибка одна и та же.... Упоминание в ошибке касается именно свойства "DbStorageLocation".... DbStorageLocation - это место хранения БД Что я опять не так делаю.... В чем причина? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2018, 14:25 |
|
||
|
SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...
|
|||
|---|---|---|---|
|
#18+
Ruban IgorПри попытке чтения некоторых свойств объекта DB = Server.Databases.Item("MyDB") обнаружил интересную особенность: Следующие свойства: CreatedTimestamp, ID, IsLoaded, LastProcessed, LastSchemaUpdate, LastUpdate, Name, SiteID, State читаются нормально. А вот при попытке прочесть одно из свойств: Accounts, AggregationPrefix, Collation, DatabasePermissions, DataSourceImpersonationInfo, DataSources, DataSourceViews, DbStorageLocation, Dimensions, EstimatedSize... получаю ошибку: Microsoft.AnalysisServices: Deserialization failed: The 'DbStorageLocation' element in the 'http://schemas.microsoft.com/analysisservices/2008/engine/100/100' namespace is unexpected. Причем... не важно, какое из свойств я пытаюсь прочесть: Collation или DbStorageLocation, ошибка одна и та же.... Упоминание в ошибке касается именно свойства "DbStorageLocation".... DbStorageLocation - это место хранения БД Что я опять не так делаю.... В чем причина? Вы используете комплект устаревших AMO (скорее всего от 2008 R2) для обращения к SSAS 2012. Проверьте, что версии совпадают. Лучше в виртуальной машине поставить developer версию, развернуть маленькую тестовую MOLAP базу от Microsoft и там уже потестировать свой код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2018, 15:35 |
|
||
|
SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...
|
|||
|---|---|---|---|
|
#18+
Andy_OLAP, Скачал отсюда: https://www.microsoft.com/en-us/download/details.aspx?id=55264 файл SQL_AS_AMO.msi для 2016 версии. После установки ничего не изменилось.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2018, 21:11 |
|
||
|
SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...
|
|||
|---|---|---|---|
|
#18+
даже... скачал все варианты SQL_AS_AMO.msi : для версий 2008, 2012, 2014, 2016 Установил каждый из них...но.. ничего не изменилось. Осталась та же ошибка. А имеет ли значение: откуда идет обращение? Если я пробую делать чтение со стороны 1С 8.3 ... может в этом причина? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2018, 21:31 |
|
||
|
SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...
|
|||
|---|---|---|---|
|
#18+
Ошибка не проявляется для баз, у которых свойство: "DbStorageLocation" - не указано ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 00:16 |
|
||
|
SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...
|
|||
|---|---|---|---|
|
#18+
Ruban IgorОшибка не проявляется для баз, у которых свойство: "DbStorageLocation" - не указано Так с этого нужно было начинать. На сервере несколько OLAP баз. Одна из них повреждена. Физически. XML файл запорот. А внутри него упоминание недефолтного DbStorageLocation. Угадать кривую базу можно по журналу windows application при старте SSAS службы, но не всегда. Лечения нет никакого. Точнее, если говорить хирургическим языком - поможет пересадка свежего органа. Останавливаете службу SSAS, переименовываете файлы и каталоги первой базы, стартуете, проверяете через AMO, останавливаете службу SSAS, переименовываете для первой обратно и "прячете" вторую, стартуете, проверяете через AMO, останавливаете, переименовываете обратно. Собственно, делать такое нужно при желании починить и при понимании, что бэкапы свежие, бэкапы структуры MOLAP базы в XMLA файле отдельно есть, любая кривая база будет разрушена, создана с нуля из XMLA файла и полностью обработана. Если кубы нарезаны на секции, а для архивных секций исходных данных больше нет - заниматься лечением нет смысла. Вот как-то так. Все очень печально и совсем некошерно. А таки что делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 00:36 |
|
||
|
SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...
|
|||
|---|---|---|---|
|
#18+
Andy_OLAP, Почему Вы решили, что базы повреждены? Речь идет о новосозданных базах. :) Провел эксперимент. Создал одну базу с пустым значением свойства "Path", а вторую - с указанным каталогом. При попытке прочесть свойства первой базы - ошибок нет. При чтении свойств второй - есть. Server = CreateObject("Microsoft.AnalysisServices.Server"); Server.Connect("Provider=MSOLAP.6;Data Source=OLAP\S2014;"); DB1 = Server.Databases.Item("N2014"); // в этой базе "Path", он же DbStorageLocation - не указан при создании базы DB1.Collation - возвращает "Cyrillic_General_CI_AS" DB2 = Server.Databases.Item("S2014"); // в этой базе "Path", он же DbStorageLocation - Указан при создании базы DB2.Collation - выдает ошибку: Microsoft.AnalysisServices: Deserialization failed: The 'DbStorageLocation' element in the 'http://schemas.microsoft.com/analysisservices/2008/engine/100/100' namespace is unexpected. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 05:25 |
|
||
|
SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...
|
|||
|---|---|---|---|
|
#18+
Ruban IgorAndy_OLAP, Почему Вы решили, что базы повреждены? Речь идет о новосозданных базах. :) DB2 = Server.Databases.Item("S2014"); // в этой базе "Path", он же DbStorageLocation - Указан при создании базы Запретные символы в названии каталога конечно же есть? :) А зря . Не любит этого ни AMO, ни SSAS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 13:23 |
|
||
|
SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...
|
|||
|---|---|---|---|
|
#18+
Andy_OLAP, Вот пример каталога: d:\MyPath\ Какой из символов ту запретный? Двоеточие или "\" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 13:32 |
|
||
|
SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...
|
|||
|---|---|---|---|
|
#18+
Ruban IgorAndy_OLAP, Вот пример каталога: d:\MyPath\ Какой из символов ту запретный? Двоеточие или "\" ? Двоеточие. Его можно только с 2012-го, а у Вас явно используется что-то старое. "скачал все варианты SQL_AS_AMO.msi : для версий 2008, 2012, 2014, 2016 Установил каждый из них...но.. ничего не изменилось" - базы делаете 2014-е или скрипт от 2008-й прогоняете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 13:41 |
|
||
|
SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...
|
|||
|---|---|---|---|
|
#18+
Уже не первый день мучаюсь с этой проблемой. Вроде бы даже начал понимать причину. Скорее всего используется старый (от MS SQL 2005 , т.е. версии 9) десериализатор. Проблема в том, что доустановки SQL_AS_AMO.msi более поздних версий (2008 R2, 2012, 2014, 2016) не заменяют этот самый "десериализатор по умолчанию" на более свежий. А как выбрать нужную библиотеку для этого, например, версии 10.50 (для 2008 R2): c:\Program Files\Microsoft SQL Server\100\SDK\Assemblies\Microsoft.AnalysisServices.DLL не знаю. Это не C#, где можно напрямую подтянуть dll-ку. В силу разных причин - вынужден писать этот клиентский инструмент на 1С 8.3.... А там нет возможности выбора библиотеки. P.S. на С# следующий код прекрасно отрабатывает работает: ------------------------------------ using System; using Microsoft.AnalysisServices; namespace ConsoleApp3 { class Program { static void Main(string[] args) { String OLAPServerName; OLAPServerName = "OLAP\\S2008"; Server OLAPServer = new Server(); OLAPServer.Connect("Provider=MSOLAP.4;Data Source=" + OLAPServerName + ";"); Console.WriteLine("ServerName : " + OLAPServerName); foreach (Database OLAPDatabase in OLAPServer.Databases) { Console.WriteLine("---------- DatabaseName : " + OLAPDatabase.Name); Console.WriteLine("Collation : " + OLAPDatabase.Collation); Console.WriteLine("DbStorageLocation : " + OLAPDatabase.DbStorageLocation); } bool k = false; Console.ReadKey(k); } } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 13:54 |
|
||
|
SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...
|
|||
|---|---|---|---|
|
#18+
Andy_OLAPRuban IgorAndy_OLAP, Вот пример каталога: d:\MyPath\ Какой из символов ту запретный? Двоеточие или "\" ? Двоеточие. Его можно только с 2012-го, а у Вас явно используется что-то старое. "скачал все варианты SQL_AS_AMO.msi : для версий 2008, 2012, 2014, 2016 Установил каждый из них...но.. ничего не изменилось" - базы делаете 2014-е или скрипт от 2008-й прогоняете? Двоеточие ? Хм.... Удивлён. Как правильно указать путь? В оригинале он: "d:\MyPath\" Пробовал без двоеточия, "d\MyPath\" указать при создании. Management Studio ругается, не дает создать базу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 14:05 |
|
||
|
SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...
|
|||
|---|---|---|---|
|
#18+
Ruban IgorAndy_OLAPпропущено... Двоеточие. Его можно только с 2012-го, а у Вас явно используется что-то старое. "скачал все варианты SQL_AS_AMO.msi : для версий 2008, 2012, 2014, 2016 Установил каждый из них...но.. ничего не изменилось" - базы делаете 2014-е или скрипт от 2008-й прогоняете? Двоеточие ? Хм.... Удивлён. Как правильно указать путь? В оригинале он: "d:\MyPath\" Пробовал без двоеточия, "d\MyPath\" указать при создании. Management Studio ругается, не дает создать базу Превращение каталога в формат UNC результата не дало MyPath - расшарил каталог. Оба варианта не сработали \\OLAP\d$\MyPath \\OLAP\MyPath ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 14:24 |
|
||
|
SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...
|
|||
|---|---|---|---|
|
#18+
Ruban IgorУже не первый день мучаюсь с этой проблемой. Вроде бы даже начал понимать причину. Скорее всего используется старый (от MS SQL 2005 , т.е. версии 9) десериализатор. Проблема в том, что доустановки SQL_AS_AMO.msi более поздних версий (2008 R2, 2012, 2014, 2016) не заменяют этот самый "десериализатор по умолчанию" на более свежий. Процитирую себя же "Вы используете комплект устаревших AMO (скорее всего от 2008 R2) для обращения к SSAS 2012. Проверьте, что версии совпадают". В чем тут дело - есть сервер с OLAP базами, есть ПК, где Вы запускаете свои скрипты. Логично предположить, что AMO работают локально, поэтому и десериализатор используется старый. Один раз прописала винда в своем реестре настройки - и оставила. Поэтому и рекомендация. Попробуйте установить VirtualBox, там поставить AMO от 2012 или 2014, там выполнить скрипт. Это довольно быстро, зато гарантия, что тесты проводите на чистой машине. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 14:37 |
|
||
|
SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...
|
|||
|---|---|---|---|
|
#18+
Andy_OLAPRuban IgorУже не первый день мучаюсь с этой проблемой. Вроде бы даже начал понимать причину. Скорее всего используется старый (от MS SQL 2005 , т.е. версии 9) десериализатор. Проблема в том, что доустановки SQL_AS_AMO.msi более поздних версий (2008 R2, 2012, 2014, 2016) не заменяют этот самый "десериализатор по умолчанию" на более свежий. Процитирую себя же "Вы используете комплект устаревших AMO (скорее всего от 2008 R2) для обращения к SSAS 2012. Проверьте, что версии совпадают". В чем тут дело - есть сервер с OLAP базами, есть ПК, где Вы запускаете свои скрипты. Логично предположить, что AMO работают локально, поэтому и десериализатор используется старый. Один раз прописала винда в своем реестре настройки - и оставила. Поэтому и рекомендация. Попробуйте установить VirtualBox, там поставить AMO от 2012 или 2014, там выполнить скрипт. Это довольно быстро, зато гарантия, что тесты проводите на чистой машине. Согласен с Вашим ходом мыслей.... НО, считаю, что правильнее научиться управлять этим самым десериализатором... Т.е. наверное лучше научиться перезаписывать настройки в реестре... Конечно же попробую предложенный Вами вариант. Результаты доложу. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 17:40 |
|
||
|
SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...
|
|||
|---|---|---|---|
|
#18+
Ruban Igor, лучше скажите, зачем вы все это делаете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2018, 19:08 |
|
||
|
SSAS 2012MD При попытке чтения некоторых свойств базы - интересная ошибка...
|
|||
|---|---|---|---|
|
#18+
КритикRuban Igor, лучше скажите, зачем вы все это делаете? Конечно же для достижения собственных целей. Но, думаю, и после решения своей проблемы - этот топик будет полезен тем, кто тоже столкнулся с такой проблемой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2018, 08:55 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=39613673&tid=1857949]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
166ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 15ms |
| total: | 281ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...