powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / SSAS 2016, свойство Server::Databases - коллекция БД на сервере. Вопрос доступ по номеру
13 сообщений из 13, страница 1 из 1
SSAS 2016, свойство Server::Databases - коллекция БД на сервере. Вопрос доступ по номеру
    #39612732
Ruban Igor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Согласно документации:
https://msdn.microsoft.com/en-us/library/microsoft.analysisservices.databasecollection.aspx
Доступ к базам возможен через название базы и через №:

Server.Databases.Item("Instance1") - работает, всё ОК,

Server.Databases.Item(0) - выдает ошибку...

Почему? Документация:
https://msdn.microsoft.com/en-us/library/ms152441(v=sql.110).aspx
Напрямую позволяет обращения по номеру....
В чем ошибка?
...
Рейтинг: 0 / 0
SSAS 2016, свойство Server::Databases - коллекция БД на сервере. Вопрос доступ по номеру
    #39612741
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вместо троеточия стоило бы написать сообщение об ошибке
...
Рейтинг: 0 / 0
SSAS 2016, свойство Server::Databases - коллекция БД на сервере. Вопрос доступ по номеру
    #39612742
Ruban Igor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Критик,

Спасибо за конструктивную критику :)

Microsoft.AnalysisServices: The 'Database' with 'ID' = '0' doesn't exist in the collection.
...
Рейтинг: 0 / 0
SSAS 2016, свойство Server::Databases - коллекция БД на сервере. Вопрос доступ по номеру
    #39612743
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ruban Igor,

А с чего вы взяли, что с нулем там что-то будет?
Может там identity, а вы удаляли пару-тройку баз.

Я бы глянул Microsoft.AnalysisServices.ModelComponentCollection.Count, а потом просто посмотрел содержимое коллекции.
...
Рейтинг: 0 / 0
SSAS 2016, свойство Server::Databases - коллекция БД на сервере. Вопрос доступ по номеру
    #39612746
Ruban Igor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Критик,

из документации взял:
https://msdn.microsoft.com/ru-ru/library/ms152441(v=sql.110).aspx
...
Рейтинг: 0 / 0
SSAS 2016, свойство Server::Databases - коллекция БД на сервере. Вопрос доступ по номеру
    #39612749
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ruban Igor,

Microsoft.AnalysisServices.ModelComponentCollection.Count что вернет?
Если больше нуля - содержимое коллекции можете глянуть?
...
Рейтинг: 0 / 0
SSAS 2016, свойство Server::Databases - коллекция БД на сервере. Вопрос доступ по номеру
    #39612788
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно обращаться так-же по ID, Индексу, Имени (в PS скобки квадратные)
..DataBases[ID]
..Databases[Index]
..Databases.Item()
..Databases.FindByName()
и т.д. по желанию.
Кроме того возможно есть ограничения по линии безопасности - может доступа к базе нет у данного пользователя.

Критик - индекс 0-based, т.е. начинается с нуля
...
Рейтинг: 0 / 0
SSAS 2016, свойство Server::Databases - коллекция БД на сервере. Вопрос доступ по номеру
    #39612789
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
просто если-уж проверять то поэтапно, сначала - к серверу, потом есть-ли подключeние к нужной DataBases[] (есть-ли таковые через $Svr.Databases.Count ), а уже потом есть-ли обьекты в ..DataBases["db_id"].DataSourceViews.Count
...
Рейтинг: 0 / 0
SSAS 2016, свойство Server::Databases - коллекция БД на сервере. Вопрос доступ по номеру
    #39612792
Ruban Igor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vikkiv,

К серверу - есть, к базам есть по "Имени", но нету по "номеру"
...
Рейтинг: 0 / 0
SSAS 2016, свойство Server::Databases - коллекция БД на сервере. Вопрос доступ по номеру
    #39612799
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может версии библиотек другие, или вообще какой-то другой класс, я в иногда беру по IntelliSense, там меню выскакивает с вариантами и частичным синтаксисом.
У меня работают все варианты:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisServices")>$Null
cls;$svr=new-object Microsoft.AnalysisServices.Server;$svr.Connect(".")
$name="ql-test"
$id="ssas_ql"
$svr.Databases[6].Name
$svr.Databases.Item(6).Name
$svr.Databases[$id].Name
$svr.Databases.Find($id).Name
$svr.Databases.IndexOf($id)
$svr.Databases.IndexOfName($name)
$svr.Databases.Contains($id)
$svr.Databases.ContainsName($name)
$svr.Databases.GetByName($name).Name
$svr.Databases.FindByName($name).Name
$svr.Databases.where({$_.Name -eq $name}).name
$svr.Databases.where({$_.ID -eq $id}).name
$svr.disconnect()
...
Рейтинг: 0 / 0
SSAS 2016, свойство Server::Databases - коллекция БД на сервере. Вопрос доступ по номеру
    #39612801
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
бывает мелочь какая-нибудь - типа номер как стринг ставится, или доступ, или с самой нумерацией что-то.
...
Рейтинг: 0 / 0
SSAS 2016, свойство Server::Databases - коллекция БД на сервере. Вопрос доступ по номеру
    #39612975
Ruban Igor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выход был найден.
Просто поработал с Server.Databases как с классической коллекцией итератором ForEach.....

Смущает другое... чем глубже изучаю метаданные SSAS MD тем больше фактов того, что
в документации описано и декларируется, а по факту - нереализовано.
...
Рейтинг: 0 / 0
SSAS 2016, свойство Server::Databases - коллекция БД на сервере. Вопрос доступ по номеру
    #39613242
Ferdipux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ruban IgorКритик,

из документации взял:
https://msdn.microsoft.com/ru-ru/library/ms152441(v=sql.110).aspx

Так там
Код: c#
1.
2.
3.
public Database this[
	int index
] { get; }



То есть требуется писать
Код: c#
1.
Server.Databases[0]


Server.Databases.Item(0) - это будет БД с ID=0.

В целом - AMO вполне работоспособно, но сделано до LINQ, поэтому делать запросы к AMO с LINQ не получается (у меня). Только итератором и сравнением.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / SSAS 2016, свойство Server::Databases - коллекция БД на сервере. Вопрос доступ по номеру
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]