首页 > 解决方案 > 如何为 gettype() 创建条件?

问题描述

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

在下面的脚本中,我想显示数据库的连接字符串,但是,我不确定如何根据数据库的 typename 的类型创建 if 条件。

我想要的伪代码,但我不知道如何填写该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

通用汽车 gm2

标签: powershellssas

解决方案


推荐阅读