Выполнить задание с использованием T-SQL на кубе SSAS - PullRequest
2 голосов
/ 10 ноября 2011

Я пытаюсь выполнить задание SQL с использованием T-SQL в моем приложении на кубе SSAS.Вот что я получил до сих пор:

public void UpdateCube()
{
    AdomdConnection conn3 = new AdomdConnection("Data Source=BTN-SQL1;Initial Catalog=BTNTurboAnalysisServices;");
    conn3.Open();
    AdomdCommand cmd = conn3.CreateCommand();

    cmd.CommandText = "EXEC [SalesAnalysis].sp_start_job N'Process BTN SSAS'; GO";

    cmd.ExecuteNonQuery();

    conn3.Close();
}

[SalesAnalysis] - это имя моего куба, а «Process BTN SSAS» - это имя моей работы SQL.

Ошибка Iполучить это:

Query (1, 6) Parser: The syntax for '[SalesAnalysis]' is incorrect.

Любая помощь будет признательна, спасибо!

1 Ответ

1 голос
/ 10 ноября 2011

sp_start_job - это хранимая процедура в master.dbo try

exec master.dbo.sp_start_job N'Process BTN SSAS'; GO";

Кроме того, поскольку master.dbo.sp_start_job - это хранимая процедура SQL, вам необходимо использовать соединение SQL с ADO.NET (System.Database.SQLClient.SQLConnection), а не ADOMD.Поскольку sp_start_job просто запускает задания SQLAgent, вам необходимо убедиться, что он также работает.

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

Что-то вроде

   Server server = new Server();
    server.Connect(cubeConnectionString);

    Database database = server.Databases.FindByName(databaseName);
    Cube cube = database.Cubes.FindByName(cubeName);

    cube.Process(ProcessType.ProcessFull);
...