|
Выгрузка данных о партициях MD SSAS в таблицу Sql
|
|||
---|---|---|---|
#18+
Коллеги, приветствую! Информацию, которую успешно возвращает assp в окне MDX SSMS о партициях многомерного куба нужно записать в таблицу Sql: Код: sql 1.
Желательно попроще, без SSIS, типа OpenQuery. Кто-нибудь знает как? Пока нашел через SSIS через компонент Ado Net Source, Sql Comand = 'call assp.DiscoverXmlMetadata('Partition')' но он ругается так: "OLE DB error: OLE DB or ODBC error: Query (1, 6) Ошибка выполнения управляемой хранимой процедуры DiscoverXmlMetadata: Exception has been thrown by the target of an invocation.Cannot find column [Name]... Error at Data Flow Task [ADO NET Source [1]]: System.Data.OleDb.OleDbException (0x80004005): OLE DB error: OLE DB or ODBC error: Query (1, 6) Ошибка выполнения управляемой хранимой процедуры DiscoverXmlMetadata: Exception has been thrown by the target of an invocation.Cannot find column [Name]... at System.Data.OleDb.OleDbCommand.ProcessResults(OleDbHResult hr) at System.Data.OleDb.OleDbCommand.PrepareCommandText(Int32 expectedExecutionCount) at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) at System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior) at System.Data.OleDb.OleDbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) at Microsoft.SqlServer.Dts.Pipeline.DataReaderSourceAdapter.ReinitializeMetaData() at Microsoft.SqlServer.Dts.Pipeline.ManagedComponentHost.HostReinitializeMetaData(IDTSManagedComponentWrapper100 wrapper) " https://www.fourmoo.com/2014/05/29/ssas-sql-server-analysis-services-getting-all-partition-information-from-ssas-database-2/ ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2020, 18:00 |
|
Выгрузка данных о партициях MD SSAS в таблицу Sql
|
|||
---|---|---|---|
#18+
Monarchy, так через openrowset и делайте Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2020, 02:46 |
|
Выгрузка данных о партициях MD SSAS в таблицу Sql
|
|||
---|---|---|---|
#18+
ShIgor, спасибо за ответ, но ругается: OLE DB provider "MSOLAP" for linked server "(null)" returned message "OLE DB error: OLE DB or ODBC error: Query (1, 6) Ошибка выполнения управляемой хранимой процедуры DiscoverXmlMetadata: Exception has been thrown by the target of an invocation.Cannot find column [Name]...". А если вместо: 'call assp.DiscoverXmlMetadata("Partition")' указать обычный MDX 'select .. from ...' то успешно выполняется ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2020, 21:22 |
|
Выгрузка данных о партициях MD SSAS в таблицу Sql
|
|||
---|---|---|---|
#18+
Monarchy, у меня работает нормально. в Managment studio MDX запрос а в нем этот call - работает? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2020, 10:46 |
|
Выгрузка данных о партициях MD SSAS в таблицу Sql
|
|||
---|---|---|---|
#18+
ShIgor, У Вас в SSMS выдается количество строк и столбцов с результатом? Может потому что у меня ASSP не совсем оригинальная и не возвращает в SSMS количество строк и столбцов, хотя результат возвращает: Executing the query ... Obtained object of type: Microsoft.AnalysisServices.AdomdClient.AdomdDataReader Run complete Возможно поэтому OpenRowset, не видя структуру результата, ругается. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2020, 16:51 |
|
Выгрузка данных о партициях MD SSAS в таблицу Sql
|
|||
---|---|---|---|
#18+
Monarchy, сборка точно нормально работает? для некритичного тестирования напр. выполнить в SSMS: call ASSP.ASStoredProcs.FunctionLister.AssemblyVersion() сначала напрямую в SSMS/MDX а потом из SQL через openrowset/openquery там граблей целыми рядами - от самой сборки (права исполнения под каким пользователем, версии SSAS драйверов, настроек самого SSAS сервера и пр.,) и до как делегирование пользователя настроено между SQL и SSAS (в т.ч. если используется - конфигурации Linked Server) ну и типы данных и пр. хотя вроде явно написано - несоответствие получаемой схемы с ожидаемой. ... кроме всего прочего - уже изначально всё не по феншую: сторонние сборки от третьих лиц это ещё те проблемы, далеко не в каждой компании такое разрешат сами-бы давно написали то-же что и сборка делает но своими штатными средствами (C# / VB.NET / PS и т.д.) или без FQN типа call ASSP.AssemblyVersion() / call AssemblyVersion() (уже даже не помню как там разрешение UDF/UDSP работает на CLR) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2020, 17:25 |
|
Выгрузка данных о партициях MD SSAS в таблицу Sql
|
|||
---|---|---|---|
#18+
vikkiv, спасибо за ответ! В том то и дело, что у нас ASSP какая-то модифицированная предыдущими разработчиками, под кастомизированные Drillthrough. Такой функции в ней нет: call ASSP.ASStoredProcs.FunctionLister.AssemblyVersion() Я подозреваю, что из-за не оригинальности call ASSP.DiscoverXmlMetadata('Partition') возвращает результат не того формата. Надо наверное скачать и стандартную ASSP последней версии: https://github.com/ASStoredProcedures/ASStoredProcedures/releases Это не быстро поставить, т.к. должно пройти через безопасников, у меня нет прав скачивать и ставить их на проде. То, что ShIgor пишет, что у него работает стандартная ASSP, вселяет оптимизм. Самим писать - это редко нужно что-то менять в ней и держать спеца вряд ли целесообразно, проще скачать существующее с открытым кодом. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2020, 17:57 |
|
Выгрузка данных о партициях MD SSAS в таблицу Sql
|
|||
---|---|---|---|
#18+
Monarchy, Ну так из-за открытости как раз и привёл в списке PS , тот-же .NET в нескомпилированном скриптовом виде. собери через foreach на каждую партицию, положи resultset в System.Data .. передай на SQL Server.. делов-то на раз-два.. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2020, 18:03 |
|
Выгрузка данных о партициях MD SSAS в таблицу Sql
|
|||
---|---|---|---|
#18+
Exec(‘<Statement xmlns=“urn:schemas-Microsoft-com:xml-analysis”> Call assp.DiscoverXmlMetadata(“Partition”) </Statement>’) At as ... |
|||
:
Нравится:
Не нравится:
|
|||
09.11.2020, 14:54 |
|
|
start [/forum/topic.php?fid=49&msg=40014147&tid=1857240]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 141ms |
0 / 0 |