AMO OLAP QueryBinding

有时我需要在Cube中更改Customer维度的源表,具体取决于业务逻辑。

以前我使用以下代码更改了多维数据集的结构:

MyServerDataSourceView.Schema.Tables["DimCustomers"].ExtendedProperties["QueryDefinition"] = "new query"; MyServerDataSourceView.Update(); // update to new definition DimCustomer.Process(ProcessType.ProcessAdd, EF); MyServerDataSourceView.Schema.Tables["DimCustomers"].ExtendedProperties["QueryDefinition"] = "old regularquery"; MyServerDataSourceView.Update(); // revert back to old definition 

但它并不值得信任。 有时它不会恢复查询定义。

Visual Studio显示可以使用queryBinding在此处输入图像描述

我正在尝试这样的代码:

 string queryAdd = "SELECT [a],[b],[c] FROM ase.newtable"; QueryBinding queryBinding = new QueryBinding(); queryBinding.QueryDefinition = queryAdd; DimCustomer.Process(ProcessType.ProcessAdd, queryBinding); 

并得到以下错误,并没有多说:

警告:ProcessAdd客户维度的0x80019002 – 序列容器:SSIS警告代码DTS_W_MAXIMUMERRORCOUNTREACHED。 执行方法成功,但引发的错误数(1)达到允许的最大值(1); 导致失败。 当错误数达到MaximumErrorCount中指定的数量时,会发生这种情况。 更改MaximumErrorCount或修复错误。

我试图研究Microsoft文档,但没有找到任何示例或明确的解释。