0

我正在使用 Microsoft.AnalysisServices.Server 类连接到 SSAS 实例。

我按名称检索数据库并使用 ProcessType.ProcessFull 作为选项调用 Process 方法。

server.Databases.FindByName("MyDatabase").Process(ProcessType.ProcessFull)

程序挂了一个小时,之后数据库不会被处理。

我还尝试使用 Server 类传递 XMLA 命令来处理数据库。此命令在 Sql Server Management Studio 中运行时有效,但在我通过服务器连接传入时不运行。

server.Execute("My XMLA Process Command")

在尝试处理数据库之前,我使用 server.Execute 传递 XMLA 命令来创建数据库。create database 命令可以正常工作,但 process database 命令无法使用 XMLA 或 C# 对象工作。它只是将程序冻结了一个小时,并且没有处理数据库。

任何帮助将不胜感激。提前致谢。

4

1 回答 1

0

完全处理可能需要相当长的时间,具体取决于数据的大小。

如果您正在创建一个 gui 应用程序并且它没有响应,这可能是因为您在主线程上执行了一个非常长时间运行的任务。尝试使用 BackgroundWorker 或 ThreadPool.QueueUserWorkitem 在后台运行它。

要查看发生了什么,您可以通过订阅进度事件并在主线程中更新您的 UI 来获取进度。

这是一个描述订阅这些进度跟踪事件的线程:

http://social.msdn.microsoft.com/forums/en-US/sqlanalysisservices/thread/e9f87b28-a8c2-40fc-b6e6-68dfa59b07a6

于 2011-11-04T03:00:17.503 回答