예제 #1
0
 public RuntimeLiveQueryExecutor(AspNetCore.ReportingServices.ReportIntermediateFormat.DataSource dataSource, AspNetCore.ReportingServices.ReportIntermediateFormat.DataSet dataSet, OnDemandProcessingContext odpContext)
 {
     this.m_dataSource       = dataSource;
     this.m_dataSet          = dataSet;
     this.m_odpContext       = odpContext;
     this.m_executionMetrics = new DataProcessingMetrics(dataSet, this.m_odpContext.JobContext, this.m_odpContext.ExecutionLogContext);
 }
 public static DataSourceInfo GetDataSourceInfo(AspNetCore.ReportingServices.ReportIntermediateFormat.DataSource dataSource, OnDemandProcessingContext processingContext)
 {
     if (processingContext.CreateAndSetupDataExtensionFunction.MustResolveSharedDataSources)
     {
         return(dataSource.GetDataSourceInfo(processingContext));
     }
     return(null);
 }
 protected RuntimeDataSource(AspNetCore.ReportingServices.ReportIntermediateFormat.Report report, AspNetCore.ReportingServices.ReportIntermediateFormat.DataSource dataSource, OnDemandProcessingContext processingContext, bool mergeTransactions)
 {
     this.m_report           = report;
     this.m_dataSource       = dataSource;
     this.m_odpContext       = processingContext;
     this.m_runtimeDataSets  = null;
     this.m_mergeTran        = mergeTransactions;
     this.m_executionMetrics = new DataProcessingMetrics(this.m_odpContext.JobContext, this.m_odpContext.ExecutionLogContext);
     Global.Tracer.Assert(this.m_dataSource.Name != null, "The name of a data source cannot be null.");
 }
 public static void CloseConnection(IDbConnection connection, AspNetCore.ReportingServices.ReportIntermediateFormat.DataSource dataSource, OnDemandProcessingContext odpContext, DataProcessingMetrics executionMetrics)
 {
     try
     {
         DataSourceInfo dataSourceInfo = RuntimeDataSource.GetDataSourceInfo(dataSource, odpContext);
         odpContext.CreateAndSetupDataExtensionFunction.CloseConnection(connection, dataSource, dataSourceInfo);
     }
     catch (Exception innerException)
     {
         throw new ReportProcessingException(ErrorCode.rsErrorClosingConnection, innerException, dataSource.Name);
     }
 }
 public RuntimeDataSet(AspNetCore.ReportingServices.ReportIntermediateFormat.DataSource dataSource, AspNetCore.ReportingServices.ReportIntermediateFormat.DataSet dataSet, DataSetInstance dataSetInstance, OnDemandProcessingContext odpContext, bool processRetrievedData)
     : base(dataSource, dataSet, odpContext)
 {
     this.m_dataSetInstance      = dataSetInstance;
     this.m_processRetrievedData = processRetrievedData;
     if (base.m_odpContext.QueryRestartInfo == null)
     {
         this.m_restartPosition = null;
     }
     else
     {
         this.m_restartPosition = base.m_odpContext.QueryRestartInfo.GetRestartPositionForDataSet(base.m_dataSet);
     }
 }
        public override bool NeedPrompt(IParameterDataSource paramDS)
        {
            bool result = false;

            AspNetCore.ReportingServices.ReportIntermediateFormat.DataSource dataSource = this.m_report.DataSources[paramDS.DataSourceIndex];
            if (this.GetOnDemandContext().DataSourceInfos != null)
            {
                DataSourceInfo byID = this.GetOnDemandContext().DataSourceInfos.GetByID(dataSource.ID);
                if (byID != null)
                {
                    result = byID.NeedPrompt;
                }
            }
            return(result);
        }
        private int InitOrUpdateDataSetCollection(AspNetCore.ReportingServices.ReportIntermediateFormat.Report report, AspNetCore.ReportingServices.ReportIntermediateFormat.ReportInstance reportInstance, bool initialize)
        {
            int result = 0;

            for (int i = 0; i < report.DataSourceCount; i++)
            {
                AspNetCore.ReportingServices.ReportIntermediateFormat.DataSource dataSource = report.DataSources[i];
                if (initialize && !dataSource.IsArtificialForSharedDataSets)
                {
                    this.m_dataSources.Add(dataSource);
                }
                if (dataSource.DataSets != null)
                {
                    for (int j = 0; j < dataSource.DataSets.Count; j++)
                    {
                        this.InitDataSet(reportInstance, dataSource.DataSets[j], ref result);
                    }
                }
            }
            return(result);
        }
 public void Add(AspNetCore.ReportingServices.ReportIntermediateFormat.DataSource dataSourceDef)
 {
     try
     {
         if (this.m_lockAdd)
         {
             Monitor.Enter(this.m_collection);
         }
         if (!this.m_collection.ContainsKey(dataSourceDef.Name))
         {
             this.m_collection.Add(dataSourceDef.Name, new DataSourceImpl(dataSourceDef));
         }
     }
     finally
     {
         if (this.m_lockAdd)
         {
             Monitor.Exit(this.m_collection);
         }
     }
 }
        public static IDbConnection OpenConnection(AspNetCore.ReportingServices.ReportIntermediateFormat.DataSource dataSourceObj, AspNetCore.ReportingServices.ReportIntermediateFormat.DataSet dataSetObj, OnDemandProcessingContext pc, DataProcessingMetrics metrics)
        {
            IDbConnection dbConnection = null;

            try
            {
                metrics.StartTimer(DataProcessingMetrics.MetricType.OpenConnection);
                DataSourceInfo dataSourceInfo = null;
                string         text           = dataSourceObj.ResolveConnectionString(pc, out dataSourceInfo);
                if (pc.UseVerboseExecutionLogging)
                {
                    metrics.ResolvedConnectionString = text;
                }
                //if (pc.CreateAndSetupDataExtensionFunction.MustResolveSharedDataSources)
                //{

                //}

                return(pc.CreateAndSetupDataExtensionFunction.OpenDataSourceExtensionConnection(dataSourceObj, text, dataSourceInfo, dataSetObj.Name));
            }
            catch (RSException)
            {
                throw;
            }
            catch (Exception ex2)
            {
                if (AsynchronousExceptionDetection.IsStoppingException(ex2))
                {
                    throw;
                }
                throw new ReportProcessingException(ErrorCode.rsErrorOpeningConnection, ex2, dataSourceObj.Name);
            }
            finally
            {
                long num = metrics.RecordTimerMeasurementWithUpdatedTotal(DataProcessingMetrics.MetricType.OpenConnection);
                Global.Tracer.Trace(TraceLevel.Verbose, "Opening a connection for DataSource: {0} took {1} ms.", dataSourceObj.Name.MarkAsModelInfo(), num);
            }
        }
 public RuntimeSharedDataSet(AspNetCore.ReportingServices.ReportIntermediateFormat.DataSource dataSource, AspNetCore.ReportingServices.ReportIntermediateFormat.DataSet dataSet, DataSetInstance dataSetInstance, OnDemandProcessingContext processingContext)
     : base(dataSource, dataSet, dataSetInstance, processingContext, dataSet.DataSetCore.Filters != null || dataSet.DataSetCore.HasCalculatedFields(), null)
 {
     this.m_consumerRequest = base.m_odpContext.ExternalDataSetContext.ConsumerRequest;
 }
예제 #11
0
 public RuntimeOnDemandDataSet(AspNetCore.ReportingServices.ReportIntermediateFormat.DataSource dataSource, AspNetCore.ReportingServices.ReportIntermediateFormat.DataSet dataSet, DataSetInstance dataSetInstance, OnDemandProcessingContext odpContext, bool processFromLiveDataReader, bool generateGroupTree, bool canWriteDataChunk)
     : base(dataSource, dataSet, dataSetInstance, odpContext, canWriteDataChunk, true)
 {
     this.m_processFromLiveDataReader = processFromLiveDataReader;
     this.m_generateGroupTree         = generateGroupTree;
 }
예제 #12
0
 protected RuntimeAtomicDataSource(AspNetCore.ReportingServices.ReportIntermediateFormat.Report report, AspNetCore.ReportingServices.ReportIntermediateFormat.DataSource dataSource, OnDemandProcessingContext processingContext, bool mergeTransactions)
     : base(report, dataSource, processingContext, mergeTransactions)
 {
 }
 public DataSourceImpl(AspNetCore.ReportingServices.ReportIntermediateFormat.DataSource dataSourceDef)
 {
     this.m_dataSource = dataSourceDef;
 }
 public RuntimeDataSourceParameters(AspNetCore.ReportingServices.ReportIntermediateFormat.Report report, AspNetCore.ReportingServices.ReportIntermediateFormat.DataSource dataSource, OnDemandProcessingContext processingContext, int parameterDataSetIndex, ReportParameterDataSetCache aCache)
     : base(report, dataSource, processingContext, false)
 {
     Global.Tracer.Assert(parameterDataSetIndex != -1, "Parameter DataSet index must be specified when processing parameters");
     this.m_parameterDataSetIndex = parameterDataSetIndex;
     this.m_paramDataCache        = aCache;
 }
 public RuntimeParameterDataSet(AspNetCore.ReportingServices.ReportIntermediateFormat.DataSource dataSource, AspNetCore.ReportingServices.ReportIntermediateFormat.DataSet dataSet, DataSetInstance dataSetInstance, OnDemandProcessingContext processingContext, bool mustEvaluateThroughReportObjectModel, ReportParameterDataSetCache aCache)
     : base(dataSource, dataSet, dataSetInstance, processingContext, true)
 {
     this.m_parameterDataSetObj = aCache;
     this.m_mustEvaluateThroughReportObjectModel = mustEvaluateThroughReportObjectModel;
 }
예제 #16
0
 public RuntimeIdcIncrementalDataSet(AspNetCore.ReportingServices.ReportIntermediateFormat.DataSource dataSource, AspNetCore.ReportingServices.ReportIntermediateFormat.DataSet dataSet, DataSetInstance dataSetInstance, OnDemandProcessingContext odpContext)
     : base(dataSource, dataSet, dataSetInstance, odpContext)
 {
 }
 protected RuntimeAtomicDataSet(AspNetCore.ReportingServices.ReportIntermediateFormat.DataSource dataSource, AspNetCore.ReportingServices.ReportIntermediateFormat.DataSet dataSet, DataSetInstance dataSetInstance, OnDemandProcessingContext odpContext, bool processRetrievedData)
     : base(dataSource, dataSet, dataSetInstance, odpContext, processRetrievedData)
 {
 }