2

我想从 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 的任何原因吗?

4

0 回答 0