none
Fatal Error RRS feed

  • Question

  • Need help,

    I am trying to update my server connection ( Microsoft.AnalysisServices.Server.update ( ) )and got the following error message:

    Microsoft.AnalysisServices.OperationException: Fatal internal error.

       at Microsoft.AnalysisServices.AnalysisServicesClient.SendExecuteAndReadRespon
    se(ImpactDetailCollection impacts, Boolean expectEmptyResults, Boolean throwIfEr
    ror)
       at Microsoft.AnalysisServices.AnalysisServicesClient.Alter(IMajorObject obj,
    ObjectExpansion expansion, ImpactDetailCollection impact, Boolean allowCreate)
       at Microsoft.AnalysisServices.Server.Update(IMajorObject obj, UpdateOptions o
    ptions, UpdateMode mode, XmlaWarningCollection warnings, ImpactDetailCollection
    impactResult)
       at Microsoft.AnalysisServices.Server.SendUpdate(IMajorObject obj, UpdateOptio
    ns options, UpdateMode mode, XmlaWarningCollection warnings, ImpactDetailCollect
    ion impactResult)
       at Microsoft.AnalysisServices.MajorObject.Update(UpdateOptions options, Updat
    eMode mode, XmlaWarningCollection warnings)
       at Microsoft.AnalysisServices.MajorObject.Update()
       at Test.Program.Main(String[] args) in E:\Programming\C#\Test\Test\Program.cs
    :line 64

    Please helpp ...

    THanks ... :)
    Monday, January 8, 2007 2:20 PM

Answers

  • See if this is the same issue as reported in http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=317697&SiteID=1

    Another idea. Try and run SQL Profiler and monitor activity while your application is issuing the request to update. See if there is any error message.

    One more thing to try: Execute the update statement with Database object and not the server object.

    HTH

    Edward.
    --
    This posting is provided "AS IS" with no warranties, and confers no rights.

    Monday, January 8, 2007 9:15 PM

All replies

  • See if this is the same issue as reported in http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=317697&SiteID=1

    Another idea. Try and run SQL Profiler and monitor activity while your application is issuing the request to update. See if there is any error message.

    One more thing to try: Execute the update statement with Database object and not the server object.

    HTH

    Edward.
    --
    This posting is provided "AS IS" with no warranties, and confers no rights.

    Monday, January 8, 2007 9:15 PM
  • I've tried to update from database level and there was no error found. Thanks.

    One more thing i would like to know is, what's the different between DimensionAttribute.KeyColumns and DimensionAttribute.NameColumn. I've searched from the internet and still not found any good answer that can make me understand the difference. I also got no explanation from MSDN ( I don't know if there is update in MSDN that explain about it more detail ).

    Thanks in advance ....
    Tuesday, January 9, 2007 8:09 AM
  • To answer your DimensionAttribute.KeyColumn vs DimensionAttribute.NameColumn.

    These allow you to load key and name for dimension member separately. Imagine dimension members can be translated to different languages, you need a key to be able to reference a sinlge memeber. That is only a single example, there are many cases where you need to have key and name separate.

    Edward.
    --
    This posting is provided "AS IS" with no warranties, and confers no rights.

    Wednesday, January 10, 2007 7:50 AM
  • Need Help ...
    Why this error can occure??

    Microsoft.AnalysisServices.OperationException: Errors in the metadata manager. T
    he Branch dimension has either zero or multiple key attributes.

       at Microsoft.AnalysisServices.AnalysisServicesClient.SendExecuteAndReadRespon
    se(ImpactDetailCollection impacts, Boolean expectEmptyResults, Boolean throwIfEr
    ror)
       at Microsoft.AnalysisServices.AnalysisServicesClient.Alter(IMajorObject obj,
    ObjectExpansion expansion, ImpactDetailCollection impact, Boolean allowCreate)
       at Microsoft.AnalysisServices.Server.Update(IMajorObject obj, UpdateOptions o
    ptions, UpdateMode mode, XmlaWarningCollection warnings, ImpactDetailCollection
    impactResult)
       at Microsoft.AnalysisServices.Server.SendUpdate(IMajorObject obj, UpdateOptio
    ns options, UpdateMode mode, XmlaWarningCollection warnings, ImpactDetailCollect
    ion impactResult)
       at Microsoft.AnalysisServices.MajorObject.Update(UpdateOptions options, Updat
    eMode mode, XmlaWarningCollection warnings)
       at Microsoft.AnalysisServices.MajorObject.Update()
       at Test.Program.Main(String[] args) in E:\Programming\C#\Test\Test\Program.cs
    :line 128Press any key to continue . . .

    This is the part of my source code:

                Server aServer = new Server ( );
                Database aDatabase = null;
                Cube aCube = null;
                CubeDimension aCubeDim = null;
                Dimension aDimension = null;
                DimensionAttribute anAttribute = null;
                MeasureGroup mg = null;
                Measure aMeasure = null;
                Hierarchy hier;
                RegularMeasureGroupDimension regMgDim;
                ManyToManyMeasureGroupDimension mmMgDim;
                MeasureGroupAttribute mgAttr;

                String strProvider = null;
                String strDataSource = null;
                String strSourceDSN = null;

                String CubePath = "E:\\Programming\\C#\\Test\\Test\\TEHSuite.cub";

                if ( File.Exists ( CubePath ) )
                    File.Delete ( CubePath );

                strProvider = "PROVIDER=MSOLAP";
                strDataSource = "Data Source=" + CubePath;
                strSourceDSN = "SOURCE_DSN=TEHSuite";

                try
                {
                    aServer.Connect ( strProvider + ";" + strDataSource + ";" + strSourceDSN + ";" );

                    aDatabase = aServer.Databases.FindByName ( "TEHSuite" );

                    if ( aDatabase != null )
                        aDatabase.Drop ( );

                    aDatabase = aServer.Databases.Add ( "TEHSuite" );
                    aDatabase.ID = "TEHSuite";
                    aDatabase.Update ( );

                    aCube = aDatabase.Cubes.FindByName ( "Sales" );

                    if ( aCube != null )
                        aCube.Drop ( );

                    aCube = new Cube ( );
                    aCube.Name = "Sales";
                    aCube.StorageMode = StorageMode.Molap;

                    aDatabase.Cubes.Add ( aCube );

                    aDimension = aDatabase.Dimensions.Add ( "Branch" );
                    aDimension.UnknownMember = UnknownMemberBehavior.Hidden;
                    aDimension.AttributeAllMemberName = "All Branch";

                    anAttribute = new DimensionAttribute ( );
                    anAttribute.ID = "Branch Name";
                    anAttribute.Name = "Branch Name";
                    anAttribute.KeyColumns.Add ( new DataItem ( "DimBranch" , "BranchID" ) );
                    anAttribute.NameColumn = new DataItem ( "DimBranch" , "BranchName" );
                    aDimension.Attributes.Add ( anAttribute );

                    anAttribute = new DimensionAttribute ( );
                    anAttribute.ID = "City Name";
                    anAttribute.Name = "City Name";
                    anAttribute.KeyColumns.Add ( new DataItem ( "DimCity" , "CityID" ) );
                    anAttribute.NameColumn = new DataItem ( "DimCity" , "CityName" );
                    aDimension.Attributes.Add ( anAttribute );

                    anAttribute = new DimensionAttribute ( );
                    anAttribute.ID = "Country Name";
                    anAttribute.Name = "Country Name";
                    anAttribute.KeyColumns.Add ( new DataItem ( "DimCountry" , "CountryID" ) );
                    anAttribute.NameColumn = new DataItem ( "DimCountry" , "CountryName" );
                    aDimension.Attributes.Add ( anAttribute );

                    anAttribute = new DimensionAttribute ( );
                    anAttribute.ID = "Continent Name";
                    anAttribute.Name = "Continent Name";
                    anAttribute.KeyColumns.Add ( new DataItem ( "DimContinent" , "ContinentID" ) );
                    anAttribute.NameColumn = new DataItem ( "DimContinent" , "ContinentID" );
                    aDimension.Attributes.Add ( anAttribute );

                    hier = aDimension.Hierarchies.Add ( "Branch Categories" );
                    hier.AllMemberName = "All Products";
                    hier.Levels.Add ( "Branch Name" ).SourceAttributeID = "Branch Name";
                    hier.Levels.Add ( "City Name" ).SourceAttributeID = "City Name";
                    hier.Levels.Add ( "Country Name" ).SourceAttributeID = "Country Name";
                    hier.Levels.Add ( "Continent Name" ).SourceAttributeID = "Continent Name";

                    aDimension.Update ( );
                    aCube.Dimensions.Add ( aDimension.ID );

    Thanks ...
    Wednesday, January 10, 2007 11:40 AM