2

我正在尝试在 SSAS 多维数据集上的应用程序中使用 T-SQL 执行 SQL 作业。这是我到目前为止所得到的:

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 作业的名称。

我收到的错误是:

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

任何帮助将不胜感激,谢谢!

4

1 回答 1

1

sp_start_job 是master.dbo中的一个存储过程试试

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

此外,由于 master.dbo.sp_start_job 是一个 SQL 存储过程,您需要使用与 ADO.NET (System.Database.SQLClient.SQLConnection) 的 SQL 连接来启动它,而不是 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);
于 2011-11-10T08:19:31.870 回答