Выполнить XMLA против SSAS - PullRequest
0 голосов
/ 30 мая 2020

Я использую функцию ниже для выполнения моего файла xmla в экземпляре SSAS. $ Xmla - это файл, который создает базу данных. Когда я выполняю эту функцию, скрипт запускается, но ближе к концу он просто открывает этот файл $ Xmla и ничего не делает. Кроме того, на машине, на которой выполняется этот сценарий, не будет установлен SQL, поскольку он будет запущен на удаленном SSAS. Это был мой источник для этой функции: https://jorgecandeias.github.io/2013/12/24/how-to-execute-xmla-against-ssas-in-powershell/ Я что-нибудь упустил?

function Execute-Xmla
{
    [CmdletBinding()]
    param
    (
        [Parameter(Position=0, Mandatory=$True)] [string] $TargetServerName,
        [Parameter(Position=1, Mandatory=$True, ValueFromPipeline=$True)] [string] $Xmla
    )
    begin
   {

        $ConnectionectionString = "Data Source=$TargetServerName;Provider=MSOLAP.4;Integrated Security=SSPI;Impersonation Level=Impersonate;"
        $Connection = New-Object Microsoft.AnalysisServices.AdomdClient.AdomdConnection($ConnectionectionString)
        $Connection.Open();
    }
    process
    {
        $Comand = $Connection.CreateCommand();
        $Comand.CommandTimeout = 20000;
        $Comand.CommandType = [System.Data.CommandType]::Text;
        $Comand.CommandText = $Xmla;
        $Reader = $Comand.ExecuteXmlReader();
        if($Reader.Read())
        {
            $Return = $Reader.ReadOuterXml();
        }
    return $Return;
   }
    end
    {
        $Connection.Close();
        $Connection.Dispose();
    }
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...