访问 SSAS 多维数据集中的 LastProcessed 属性 时出错
Error Accessing LastProcessed Property in SSAS Cube
我有一个程序集,它根据当前用户设置角色维度数据。
在程序集中,我需要访问 Context.CurrentCube.LastProcessed 属性。
代码本身工作正常。除非多维数据集已被新部署或处理。然后有时检索 Context.CurrentCube.LastProcessed 属性 会抛出以下错误:
Microsoft.AnalysisServices.AdomdServer.AdomdException: Server: The
operation was cancelled by the user. at
Microsoft.AnalysisServices.AdomdServer.CubeCollection..ctor(String
mpCubeName) at
Microsoft.AnalysisServices.AdomdServer.CubeDef.get_LastProcessed()
at Reporting.TryGetLastProcessDate() in
d:\Projects\reporting\Reporting_Cube_Addons\Permissions.cs:line
181
我已将该行包装在一个 try catch 中,并带有后备值:
public static DateTime TryGetLastProcessDate()
{
DateTime last;
try
{
last = Context.CurrentCube.LastProcessed;
}
catch (Exception ex)
{
log("Failed to retrieved lastProcess Date. Error:");
log(ex.ToString());
last = new DateTime(2015, 01, 01);
}
return last;
}
但是即使捕获了异常,立方体似乎也停止工作了..
关于我可能做错了什么有什么想法吗?是否有其他更安全的方法来检索上次处理的日期?
我有一个程序集,它根据当前用户设置角色维度数据。 在程序集中,我需要访问 Context.CurrentCube.LastProcessed 属性。 代码本身工作正常。除非多维数据集已被新部署或处理。然后有时检索 Context.CurrentCube.LastProcessed 属性 会抛出以下错误:
Microsoft.AnalysisServices.AdomdServer.AdomdException: Server: The operation was cancelled by the user. at Microsoft.AnalysisServices.AdomdServer.CubeCollection..ctor(String mpCubeName) at Microsoft.AnalysisServices.AdomdServer.CubeDef.get_LastProcessed()
at Reporting.TryGetLastProcessDate() in d:\Projects\reporting\Reporting_Cube_Addons\Permissions.cs:line 181
我已将该行包装在一个 try catch 中,并带有后备值:
public static DateTime TryGetLastProcessDate() { DateTime last; try { last = Context.CurrentCube.LastProcessed; } catch (Exception ex) { log("Failed to retrieved lastProcess Date. Error:"); log(ex.ToString()); last = new DateTime(2015, 01, 01); } return last; }
但是即使捕获了异常,立方体似乎也停止工作了..
关于我可能做错了什么有什么想法吗?是否有其他更安全的方法来检索上次处理的日期?