C# 元数据管理器中的错误。ID为‘的尺寸;xxx和x2019;由‘;yyy’;多维数据集,不存在

C# 元数据管理器中的错误。ID为‘的尺寸;xxx和x2019;由‘;yyy’;多维数据集,不存在,c#,ssas,olap-cube,C#,Ssas,Olap Cube,我在创建维度属性时遇到错误,我想附加更多属性,但出现异常 #创建创建维度、属性、层次结构和MemberProperty对象的区域。 ///创建维度、属性、层次结构和MemberProperty对象 private static object[] CreateDimension(Database objDatabase, DataSourceView objDataSourceView, string[,] strTableNamesAndKeys, int intDimensionTab

我在创建维度属性时遇到错误,我想附加更多属性,但出现异常

#创建创建维度、属性、层次结构和MemberProperty对象的区域。 ///创建维度、属性、层次结构和MemberProperty对象

    private static object[] CreateDimension(Database objDatabase, DataSourceView objDataSourceView, string[,] strTableNamesAndKeys, int intDimensionTableCount)
    {
        try
        {
            Console.WriteLine("Creating the Dimension, Attribute, Hierarchy, and MemberProperty Objects ...");


            Dimension[] objDimensions = new Dimension[intDimensionTableCount];
            for (int i = 0; i < intDimensionTableCount; i++)
            {
                objDimensions[i] = (Dimension)GenerateDimension(objDatabase, objDataSourceView, strTableNamesAndKeys[i, 0], strTableNamesAndKeys[i, 1]);
            }


            return objDimensions;
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error in Creating the Dimension, Attribute, Hierarchy, and MemberProperty Objects. Error Message -> " + ex.Message);
            return null;
        }
    }
    /// Generate single dimension.

    static DataItem CreateDataItem(DataSourceView dsv, string tableName, string columnName)
    {
        DataTable dataTable = ((DataSourceView)dsv).Schema.Tables[tableName];
        DataColumn dataColumn = dataTable.Columns[columnName];
        return new DataItem(tableName, columnName,
            OleDbTypeConverter.GetRestrictedOleDbType(dataColumn.DataType));
    }
    private static object GenerateDimension(Database objDatabase, DataSourceView objDataSourceView, string strTableName, string strTableKeyName)
    {
        try
        {
            Dimension objDimension = new Dimension();

            //Add Dimension to the Database
            objDimension = objDatabase.Dimensions.Add(strTableName);
            objDimension.Source = new DataSourceViewBinding(objDataSourceView.ID);
            DimensionAttributeCollection objDimensionAttributesColl = objDimension.Attributes;
            //Add Dimension Attributes
            DimensionAttribute objAttribute = objDimensionAttributesColl.Add(strTableKeyName);
            //Set Attribute usage and source
            objAttribute.Usage = AttributeUsage.Key;
            objAttribute.KeyColumns.Add(strTableName, strTableKeyName, OleDbType.Integer);

            objDimension.Update();

            if (strTableName == "DimProduct")
            {
          //  objDimension = objDatabase.Dimensions.Add(strTableName);
                Dimension dim;
                DimensionAttribute attr;

                dim = objDatabase.Dimensions.GetByName("DimProduct");
                attr = dim.Attributes.Add("Weight");
                attr.KeyColumns.Add(CreateDataItem(objDatabase.DataSourceViews[0], "DimProduct", "Weight"));
                attr.AttributeHierarchyEnabled = false;

                objDatabase.Update();

            }
            return objDimension;
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error in Creating the Dimension, Attribute, Hierarchy, and MemberProperty Objects - GenerateDimension. Error Message -> " + ex.Message);
            return null;
        }
    }
    #endregion Creating a Creating the Dimension, Attribute, Hierarchy, and MemberProperty Objects.
private static object[]CreateDimension(数据库objDatabase,数据源视图objDataSourceView,字符串[,]strTableNamesAndKeys,int intDimensionTableCount)
{
尝试
{
WriteLine(“创建维度、属性、层次结构和MemberProperty对象…”);
维度[]objDimensions=新维度[IntDimensionsTableCount];
对于(int i=0;i”+ex.Message);
返回null;
}
}
///生成单个维度。
静态DataItem CreateDataItem(DataSourceView dsv、字符串tableName、字符串columnName)
{
DataTable=((DataSourceView)dsv.Schema.Tables[tableName];
DataColumn DataColumn=dataTable.Columns[columnName];
返回新的数据项(tableName、columnName、,
OleDbTypeConverter.getRestrictedOldbType(dataColumn.DataType));
}
私有静态对象生成维度(数据库objDatabase、数据源视图objDataSourceView、字符串strTableName、字符串strTableKeyName)
{
尝试
{
维度objDimension=新维度();
//向数据库添加维度
objDimension=objDatabase.Dimensions.Add(strTableName);
objDimension.Source=新数据源视图绑定(objDataSourceView.ID);
DimensionAttributeCollection ObjdDimensionAttributeColl=ObjdDimension.Attributes;
//添加维度属性
DimensionAttribute OBJAAttribute=OBJDDimensionAttributeColl.Add(strTableKeyName);
//设置属性用法和源
objAttribute.Usage=AttributeUsage.Key;
添加(strTableName、strTableKeyName、OleDbType.Integer);
objDimension.Update();
if(strTableName==“DimProduct”)
{
//objDimension=objDatabase.Dimensions.Add(strTableName);
尺寸标注;
维度属性属性属性属性;
dim=objDatabase.Dimensions.GetByName(“DimProduct”);
属性=尺寸属性添加(“权重”);
attr.KeyColumns.Add(CreateDataItem(objDatabase.DataSourceViews[0],“DimProduct”,“Weight”);
attr.AttributeHierarchyEnabled=false;
objDatabase.Update();
}
返回对象维度;
}
捕获(例外情况除外)
{
Console.WriteLine(“创建维度、属性、层次结构和MemberProperty对象时出错-GenerateDimension.Error Message->”+ex.Message);
返回null;
}
}
#endregion创建创建维度、属性、层次结构和MemberProperty对象。

我该怎么办?

在代码的哪一行抛出异常?顺便问一下:为什么GenerateDimension()的返回类型是
对象
,而不是
维度