Я пытаюсь получить строку подключения источника данных базы данных с помощью следующего сценария:
$Analysis_Server = New-Object Microsoft.AnalysisServices.Server
$Analysis_Server.connect("$server")
$database = $Analysis_Server.Databases[7]
$c = $database.DataSources[0].ConnectionString
$c
ничего не выводится.
Я попытался отладить так:
$Analysis_Server.Databases
распечатывает все базы данных на сервере
если я его индексирую $Analysis_Server.Databases[]
, он печатает любую базу данных, которая была проиндексирована (в моем случае, 7, печатает базу данных8)
ясно, что свойство Database работает.
------------- UPDATE : --------------
вот как базы данных выглядят на сервере
![server1_Databses](https://i.stack.imgur.com/5vDTV.png)
вот что делает каждая из следующих строк:
$Analysis_Server.Databases
это распечатывает
![Databses](https://i.stack.imgur.com/ahK9N.png)
Одна вещь, которую можно заметить, это то, что по какой-то причине они распечатываются не в порядке их расположения на сервере анализа, как на рисунке ... Я не знаю, почему это так
это то, что выводит эта команда:
Analysis_Server.Databases[0]
![Database8](https://i.stack.imgur.com/nEvS9.png)
Теперь, так как индекс 0 работал, мы должны иметь возможность индексировать [1], [2]
и т. Д. *
поэтому следующий
Analysis_Server.Databases[1]
Analysis_Server.Databases[2]
печать:
![databases1 and 3](https://i.stack.imgur.com/Bb0HW.png)
Теперь к строке подключения:
$Analysis_Server.Databases[0].DataSources[0].ConnectionString
, который печатает:
Тайм-аут соединения = 60; Идентификатор пользователя = someID; Источник данных = 10.10.10.10; Информация о постоянной безопасности = True
кажется, что это строка подключения для базы данных8
круто, так что тогда мы тоже сможем сделать это:
$Analysis_Server.Databases[1].DataSources[0].ConnectionString
Однако ничего не печатается! единственный индекс, который, кажется, печатает с Databases[0]
Вот что печатает $Analysis_Server.Databases[0].DataSources[0]
:
![DataSources0](https://i.stack.imgur.com/1n1rC.png)
мы должны быть в состоянии сделать то же самое для всех баз данных
$Analysis_Server.Databases[1].DataSources[0]
$Analysis_Server.Databases[2].DataSources[0]
и т.д ..
но ничего не печатается!