コード例 #1
0
 public void Process(int parMetod = -1)
 {
     if (parMetod == -1)
     {
         parMetod = GlobalVar.varMetod;
     }
     //Log log =new Log();
     ErrConf = new ErrorConfiguration();
     ErrConf.KeyErrorAction            = KeyErrorAction.ConvertToUnknown;
     ErrConf.KeyNotFound               = ErrorOption.IgnoreError;
     ErrConf.NullKeyConvertedToUnknown = ErrorOption.IgnoreError;
     if (Dim != null)
     {
         try
         {
             Log.log("ProcesDimension=>" + Dim.Name);
             Dim.Process(ProcessingType);
         }
         catch (Exception e)
         {
             if (ProcessType.ProcessFull != ProcessingType)
             {
                 try
                 {
                     Log.log("try ProcessADD =>" + Dim.Name + "\n" + e.Message);
                     Dim.Process(ProcessType.ProcessAdd);
                 }
                 catch (Exception e2)
                 {
                     Log.log("Error ProcessFull =>" + Dim.Name + "\n" + e2.Message);
                 }
             }
         }
     }
コード例 #2
0
        /// <summary>
        /// add measure group into cube
        /// </summary>
        /// <param name="cube"> cube (instead of cube db)</param>
        /// <param name="measureGroupName"></param>
        /// <param name="measureGroupID"></param>
        /// <param name="isRealTime"></param>
        /// <param name="keyNotFoundAction"></param>
        /// <param name="dropIfExisted"></param>
        /// <returns>measure group</returns>
        internal static MeasureGroup ADD_MEASURE_GROUP(
            DB_SQLHELPER_BASE sqlHelper,
            Cube cube,
            String measureGroupName,
            String measureGroupID,
            int isRealTime,
            String keyNotFoundAction,
            bool dropIfExisted = false)
        {
            MeasureGroup measure_group = cube.MeasureGroups.Find(measureGroupID);

            if (measure_group != null && dropIfExisted)
            {
                measure_group.Drop();
            }
            measure_group      = cube.MeasureGroups.Add(measureGroupID);
            measure_group.Name = measureGroupName;
            if (isRealTime == '0')
            {
                measure_group.StorageMode = StorageMode.Molap;
            }
            else
            {
                measure_group.StorageMode = StorageMode.Rolap;
            }
            measure_group.Type = MeasureGroupType.Regular;
            if (keyNotFoundAction != "0")
            {
                ErrorConfiguration error_configuration = new ErrorConfiguration();
                switch (keyNotFoundAction.ToLower())
                {
                case "ignoreerror":
                    error_configuration.KeyNotFound = ErrorOption.IgnoreError;
                    break;

                case "reportandcontinue":
                    error_configuration.KeyNotFound = ErrorOption.ReportAndContinue;
                    break;

                case "reportandstop":
                    error_configuration.KeyNotFound = ErrorOption.ReportAndStop;
                    break;

                default:
                    error_configuration.KeyNotFound = ErrorOption.IgnoreError;
                    break;
                }
                measure_group.ErrorConfiguration = error_configuration;
            }
            sqlHelper.ADD_MESSAGE_LOG(
                String.Format("Added measure group {0} into cube", measureGroupName),
                MESSAGE_TYPE.MEASURE_GROUP, MESSAGE_RESULT_TYPE.Succeed);
            return(measure_group);
        }
コード例 #3
0
        public ErrorConfiguration Clone()
        {
            var errorConfiguration = new ErrorConfiguration();

            errorConfiguration.Folder = this.Folder;
            if (this.Name != null)
            {
                errorConfiguration.Name = this.Name.Clone();
            }

            return(errorConfiguration);
        }
コード例 #4
0
        /// <summary>
        /// Process the cube
        /// </summary>
        /// <param name="server"></param>
        /// <param name="username"></param>
        /// <param name="password"></param>
        /// <param name="cubeName"></param>
        /// <returns>Success if processed successfully else error message</returns>
        public string ProcessCube(string Server, string Username, string Password, string CubeName)
        {
            try
            {
                string connectionString = "Data Source=" + Server
                                          + ";User ID=" + Username
                                          + ";Password="******";";

                analysisSqlServer = new Server();
                analysisSqlServer.Connect(connectionString);


                Database db_PreviouslyCreated = analysisSqlServer.Databases.FindByName(CubeName);
                db_PreviouslyCreated.DataSourceImpersonationInfo.ImpersonationMode = ImpersonationMode.Default;
                db_PreviouslyCreated.Update();
                System.Collections.IEnumerator iteratorDataBaseCollection = db_PreviouslyCreated.DataSources.GetEnumerator();
                while (iteratorDataBaseCollection.MoveNext())
                {
                    ((DataSource)iteratorDataBaseCollection.Current).ImpersonationInfo.ImpersonationMode = ImpersonationMode.ImpersonateServiceAccount;
                    ((DataSource)iteratorDataBaseCollection.Current).Update();
                }

                ErrorConfiguration dbErrorConfiguration = new ErrorConfiguration();
                dbErrorConfiguration.KeyErrorLimitAction = KeyErrorLimitAction.StopLogging;
                db_PreviouslyCreated.Process(ProcessType.ProcessDefault, dbErrorConfiguration);

                Cube cube = db_PreviouslyCreated.Cubes.FindByName("Clear Financials AS");
                cube.ProactiveCaching.Enabled = false;
                cube.ErrorConfiguration       = new ErrorConfiguration();
                cube.StorageMode = StorageMode.Molap;
                cube.ErrorConfiguration.KeyErrorLimitAction = KeyErrorLimitAction.StopLogging;
                cube.ProactiveCaching.Enabled = false;
                cube.Update(UpdateOptions.Default, UpdateMode.Update);
                cube.Refresh(true);
            }
            catch (Exception ex)
            {
                return(ex.InnerException.ToString());
            }
            return("success");
        }
コード例 #5
0
        public static bool Process(ProcessableMajorObject obj, ProcessType type, OutputContext output)
        {
            var errors = new ErrorConfiguration {
                KeyDuplicate              = ErrorOption.ReportAndStop,
                KeyNotFound               = ErrorOption.ReportAndStop,
                NullKeyNotAllowed         = ErrorOption.ReportAndStop,
                CalculationError          = ErrorOption.ReportAndStop,
                NullKeyConvertedToUnknown = ErrorOption.ReportAndStop
            };
            var warnings = new XmlaWarningCollection();

            obj.Process(type, errors, warnings);

            if (warnings.Count > 0)
            {
                foreach (XmlaWarning warning in warnings)
                {
                    output.Warn(warning.Description);
                }
                return(false);
            }
            return(true);
        }