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文档,但没有找到任何示例或明确的解释。