Базы данных SQL Server 2017 поставляются на уровне 1400.Однако базы данных могут содержать разные типы названий (структурированные и неструктурированные) для отображения сведений о соединении
Неструктурированные : https://docs.microsoft.com/en-us/dotnet/api/microsoft.analysisservices.tabular.providerdatasource?view=analysisservices-dotnet
Структурированные : https://docs.microsoft.com/en-us/dotnet/api/microsoft.analysisservices.tabular.structureddatasource?view=analysisservices-dotnet
https://docs.microsoft.com/en-us/dotnet/api/microsoft.analysisservices.tabular.connectiondetails?view=analysisservices-dotnet
В следующем сценарии я хочу отобразить строки подключения баз данных, однако я не уверен, как создать условие if на основе типаимя базы данных.
Псевдокод того, что я хочу, но я не знаю, как мне заполнить gettype() часть:
gettype()
#SSAS 1200-1400 $AS = new-Object Microsoft.AnalysisServices.Tabular.Server $AS.Connect("server1") foreach ($dbt in $AS.Databases){ $dbName = $dbt.Name $dbName If ($dbt.gettype(structured) -eq $true) #or IsStructured instead of -eq $true $dbt.model.datasources[0].ConnectionDetails.ToString() Else $dbt.model.datasources[0].Connectionstring }
...
$dbt.GetType()
$dbt | Get-Member