Как преобразовать эту строку в JSON? - PullRequest
0 голосов
/ 28 февраля 2019

Итак, у меня есть следующий скрипт, который возвращает строку подключения баз данных на сервере

Import-Module SqlServer

#SSAS 1103 
$oldAS = New-Object Microsoft.AnalysisServices.Server
$oldAS.connect("server1")

foreach ($db in $oldAS.Databases){
  #$dbName = $db.Name
  Write-Host $db.Name -Fore green
  $db.DataSources | ForEach-Object{$_.ConnectionString}
}


#SSAS 1200-1400 
$AS = new-Object Microsoft.AnalysisServices.Tabular.Server
$AS.Connect("server1")

foreach ($dbt in $AS.Databases){
  $dbName = $dbt.Name
  $dbName
  $dbt.model.datasources[0].ConnectionString
}

первое соединение / пространство имен используется для уровней совместимости 1103, второе соединение / пространство имен Microsoft.AnalysisServices.Tabular.Server используется для 1200 дБ-1400

однако недавно мы получили базы данных, которые имеют 1400, но имеют совершенно другой формат строки подключения.соединение выглядит в JSON, даже если смотреть на него из свойств, по сравнению с традиционной длинной строкой соединения

т.е.

User Id=;Data Source=;Persist Security Info=True

VS

json

любые базы данных с источником данных этого формата на рисунке не отображаются обратно

Я думаю, что это не отображается, потому что строка имеет формат JSON, как на рисунке, а необычный формат строки, подобный этому:

User Id=;Data Source=;Persist Security Info=True

есть ли способ преобразовать вывод в JSON?может быть, таким образом он сможет отображать?

gm

1 Ответ

0 голосов
/ 28 февраля 2019

Это типовое имя Tabular StructuredDataSources

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

https://docs.microsoft.com/en-us/dotnet/api/microsoft.analysisservices.tabular.credential?view=analysisservices-dotnet

Microsoft.AnalysisServices.Tabular.ConnectionAddressa .ToString () и даже tojson ()

$dbt.model.datasources[0].ConnectionDetails.ToString()
$dbt.model.datasources[0].Credential.ToString()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...