从c#代码添加Analysis Services数据源视图时出错

时间:2015-04-14 20:32:28

标签: c# ssas datasource datasourceview dmx-ssas

我想从c#代码创建Analysis Services数据库,数据源和数据源视图。在我添加挖掘结构和模型并尝试处理结构之前,一切似乎都正常工作,然后我收到以下错误:

  

高级关系引擎中的错误。数据源视图的确如此   不包含' dbo_Challenger201501TrainingAll'的定义   表或视图。可能尚未设置Source属性。

DSV旨在包含与数据源中的表相同的信息。

这是我用来创建数据集和DSV的代码:

 private static object FillDataSet(SqlConnection objConnection, DataSet objDataSet, string strTableName)
        {
            try
            {
                string strCommand = "Select * from " + strTableName;
                SqlDataAdapter objEmpData = new SqlDataAdapter(strCommand, objConnection);
                objEmpData.MissingSchemaAction = MissingSchemaAction.AddWithKey;
                objEmpData.FillSchema(objDataSet, SchemaType.Source, strTableName);

                Console.WriteLine(objEmpData.ToString());

                return objDataSet;
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error in Creating a DataSourceView - FillDataSet. Error Message -> " + ex.Message);
                return null;
            }
        }


      private static object CreateDataSourceView(Microsoft.AnalysisServices.Database objDatabase, RelationalDataSource objDataSource, DataSet objDataSet, 
            string strCubeDataSourceViewName)
        {
            try
            {
                Console.WriteLine("Creating DataSourceView ...");
                DataSourceView objDataSourceView = new DataSourceView();
                //Add Data Source View to the Database.
                objDataSourceView = objDatabase.DataSourceViews.Add(strCubeDataSourceViewName);
                objDataSourceView.DataSourceID = objDataSource.ID;

                objDataSourceView.Schema = objDataSet;
                objDataSourceView.Update();

                return objDataSourceView;
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error in Creating a DataSourceView - CreateDataSourceView. Error Message -> " + ex.Message);
                return null;
            }
        }

代码编译并运行正常。任何人都可以看到为什么DSV可能无法正确创建的原因?

0 个答案:

没有答案