我正在尝试编辑 Infragistics WPF PivotGrid 示例,以便它将连接到 ActivePivot 沙盒服务器。ActivePivot 支持 XMLA,我可以使用 MS Excel 中的“来自 Analysis Services”数据源选项连接到同一个沙盒服务器,没有任何问题。我编辑了 odc 文件以匹配与下面完全相同的连接字符串,它仍然有效。
在 Infragistics.Samples.WPF 项目的 DataSourceAdomdNet.xaml 文件中,我将 AdomdDataSource 替换为以下内容:
<igOlap:AdomdDataSource x:Key="AdomdDataSource"
Database="Sandbox"
Cube="EquityDerivativesCube">
<igOlap:AdomdDataSource.ConnectionSettings>
<igOlap:AdomdConnectionSettings ConnectionString="Password=admin;Persist Security Info=True;User ID=admin;Initial Catalog=Sandbox;Provider=MSOLAP.4;Persist Security Info=True;Data Source=http://localhost:8080/xmla;MDX Compatibility=1;Safety Options=2;MDX Missing Member Mode=Error" />
</igOlap:AdomdDataSource.ConnectionSettings>
</igOlap:AdomdDataSource>
当我运行 Samples 项目并查看 PivotGrid 时,我看到以下异常:
InnerException: System.InvalidCastException
HResult=-2147467262
Message=Object cannot be cast from DBNull to other types.
Source=mscorlib
StackTrace:
at System.DBNull.System.IConvertible.ToDateTime(IFormatProvider provider)
at System.Convert.ToDateTime(Object value, IFormatProvider provider)
at Microsoft.AnalysisServices.AdomdClient.CubeDef.get_LastProcessed()
at Infragistics.Olap.Adomd.AdomdDataProvider.LoadCubesWorkerDoWork(Object sender, DoWorkEventArgs e)
at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
InnerException:
我对 ActivePivot 很有经验,但对 Infragistics/ADOMD.NET 没有那么多经验。在将任何其他 XMLA/ADOMD 客户端与 ActivePivot 一起使用时,我从未见过这种类型的错误。
任何人都可以帮忙吗?
谢谢