2011-11-10 4 views
2

SSAS 큐브의 응용 프로그램에서 T-SQL을 사용하여 SQL 작업을 실행하려고합니다. SSAS 큐브에서 T-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]

내 큐브와 '공정 BTN SSAS'의 이름을 내 SQL 작업의 이름입니다 여기에 지금까지 가지고 것입니다.

I 나타나는 오류는 다음과 같습니다

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

어떤 도움이, 감사 감사하겠습니다! master.dbo 에서 저장 프로 시저가 master.dbo.sp_start_job는 SQL 저장 프로 시저가있는 한, 당신은 (ADO.NET와 SQL 연결을 사용해야합니다,

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

또한 시도이다

답변

1

sp_start_job 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); 
+0

안녕하세요 같은

뭔가, 나는 내 명령 텍스트를 변경하며 반환 쿼리 파서 (6 일) : '마스터'의 구문이 잘못을. – CallumVass

+0

아 내가 확장 할게. – WOPR

+0

ASP MVC 3을 사용하고 있어도 작동하지 않을 것입니다. Server server = new Server(); 네임 스페이스 Microsoft.SqlServer를 사용할 때도 마찬가지입니다. – CallumVass