我正在使用Microsoft.AnalysisServices.Server类连接到SSAS实例。
我按名称检索数据库,并使用ProcessType.ProcessFull作为选项调用Process方法。
server.Databases.FindByName("MyDatabase").Process(ProcessType.ProcessFull)
程序挂起一个小时,之后数据库将不会被处理。
我还尝试传递XMLA命令以使用Server类处理数据库。此命令在Sql Server Management Studio中运行时有效,但在通过服务器连接传入时不会运行。
server.Execute("My XMLA Process Command")
在尝试处理数据库之前,我使用server.Execute传递XMLA命令来创建数据库。 create database命令工作正常,但process database命令无法使用XMLA或C#对象。它只是将程序冻结了一个小时,并且不处理数据库。
非常感谢任何帮助。提前谢谢。
答案 0 :(得分:0)
完整处理可能需要一段时间,具体取决于您的数据大小。
如果您正在创建一个gui应用程序并且它没有响应,那可能是因为您在主线程上执行了一个非常长时间运行的任务。尝试使用BackgroundWorker或ThreadPool.QueueUserWorkitem之类的东西在后台运行它。
要查看正在发生的事情,您可以通过订阅进度事件并在主线程中更新UI来获得进展。
这是一个描述订阅这些进度跟踪事件的线程: