⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 configuration.html

📁 基于mondrian 开源框架进行OLAP多维分析
💻 HTML
📖 第 1 页 / 共 4 页
字号:
<html><!--  == $Id: //open/mondrian-release/3.0/doc/configuration.html#4 $  == This software is subject to the terms of the Common Public License  == Agreement, available at the following URL:  == http://www.opensource.org/licenses/cpl.html.  == Copyright (C) 2006-2008 Julian Hyde  == All Rights Reserved.  == You must accept the terms of that agreement to use this software.  --><head>    <link rel="stylesheet" type="text/css" href="stylesheet.css"/>    <title>Pentaho Analysis Services: Configuration Guide</title></head><body><!-- doc2web start --><!-- page title --><div class="contentheading">Configuration Guide</div><!-- end page title --><!--##########################  Contents       ############################# --><h3>Contents</h3><ol>	<li><a href="#Properties">Properties</a></li>		<ol>			<li><a href="#Property_list">Property list</a></li>    	</ol>    <li><a href="#Connect_strings">Connect strings</a></li>		<ol>			<li><a href="#Connect_string_syntax">Syntax</a></li>    		<li><a href="#Connect_string_properties">Connect string properties</a></li>    	</ol>    <li><a href="#Cache_management">Cache management</a><ol>			<li><a href="#Schema_cache">Schema cache</a></li>    	</ol>    <li><a href="#Memory_management">Memory management</a><ol>			<li><a href="#Out_of_memory">Out of memory</a></li>    	</ol>    </li>    <li><a href="#Logging">Logging</a><ol>			<li><a href="#Test_Logging">Configuring log4j within Mondrian's test environment</a></li>			<li><a href="#Statement_Logging">MDX and SQL Statement Logging</a></li>			    	</ol>    </li></ol><!--##########################  1. Properties  ############################# --><h3>1. Properties<a name="Properties">&nbsp;</a></h3><p>Mondrian has a properties file to allow you to configure how it executes. The<code>mondrian.properties</code> file is loaded when the executing Mondrian JAR detects itneeds properties, but can also be done explicitly in your code. It looks inseveral places, in the following order:</p><ol>  <li>In the directory where you started your JVM (Current working directory for  JVM process, java.exe on Win32, java on UNIX/Linux).</li>  <li>If there isn't mondrian.properties under current working directory of JVM  process, Class MondrianProperties's classloader will try to locate  mondrian.properties in all of its classpaths. So you may put <code>mondrian.properties</code>  under <code>/WEB-INF/classes</code> when you pack Mondrian into a Java web application.  The demonstration web applications have this configuration.</li></ol><p>These properties are stored as system properties, so they can be set duringJVM startup via <code>-D&lt;property&gt;=&lt;value&gt;</code>.</p><!--#############################  1.1 Property list ################################ --><h3>1.1 Property list<a name="Property_list">&nbsp;</a></h3><p>The following properties in <code>mondrian.properties</code> effect theoperations of Mondrian.</p><p>Not all of the properties in this table are of interest to the end-user. Forexample, those in the 'Testing' are only applicable if are running Mondrian'ssuite of regression tests.</p><table class="grayTable">    <tr>      <td><strong>Property</strong></td>      <td><strong>Type</strong></td>      <td><strong>Default value</strong></td>      <td><strong>Description</strong></td>    </tr>    <tr>      <td colspan="4">      <b><br>      Miscellaneous</b>      </td>  </tr>    <tr>      <td><code><a href="api/mondrian/olap/MondrianProperties.html#FoodmartJdbcURL">      mondrian.foodmart.jdbcURL</a></code></td>      <td>string</td>      <td>&quot;jdbc:odbc:Mondrian FoodMart&quot;</td>      <td>Property containing the JDBC URL of the FoodMart database. The default      value is to connect to an ODBC data source called &quot;MondrianFoodMart&quot;.</td>    </tr>    <tr>      <td><code><a href="api/mondrian/olap/MondrianProperties.html#QueryLimit">      mondrian.query.limit</a></code></td>      <td>int</td>      <td>40</td>      <td>Maximum number of simultaneous queries the system will allow.<p>Oracle      fails if you try to run more than the 'processes' parameter in init.ora,      typically 150. The throughput of Oracle and other databases will probably      reduce long before you get to their limit.</td>    </tr>    <tr>      <td><code><a href="api/mondrian/olap/MondrianProperties.html#JdbcDrivers">      mondrian.jdbcDrivers</a></code></td>      <td>string</td>      <td>mondrian.jdbcDrivers,<br>      sun.jdbc.odbc.JdbcOdbcDriver,<br>      org.hsqldb.jdbcDriver,<br>      oracle.jdbc.Oracle Driver,<br>      com.mysql.jdbc.Driver</td>      <td>A list of JDBC drivers to load automatically. Must be a      comma-separated list of class names, and the classes must be on the class      path.</td>    </tr>    <tr>      <td><code><a href="api/mondrian/olap/MondrianProperties.html#ResultLimit">      mondrian.result.limit</a></code></td>      <td>int</td>      <td>0</td>      <td>If set to a value greater than zero, limits the maximum size of a      result set.<p>If a query exceeds the limit, you will get an error such as:</p>      <blockquote>          <p><code>Mondrian result limit exceeded: Mondrian Error: Size of CrossJoin          result (53,463) exceeded limit (50,000)</code></p>      </blockquote>      or      <blockquote>          <p><code>Number of members to be read exceeded limit 50,000</code></p>      </blockquote>      <p>and Mondrian throws a      <a href="api/mondrian/olap/ResourceLimitExceededException.html">      mondrian.olap.ResourceLimitExceededException</a>. See also      <a href="#limit_properties">limit properties</a>.</p></td>    </tr>    <tr>      <td>      <code><a href="api/mondrian/olap/MondrianProperties.html#MaxEvalDepth">mondrian.rolap.evaluate.MaxEvalDepth</a></code></td>      <td>int</td>      <td>10</td>      <td>Maximum number of passes allowable while evaluating an MDX expression.      If evaluation exceeds this depth (for example, while evaluating a very      complex calculated member), Mondrian will throw an error.</td>    </tr>    <tr>      <td>      <code><a href="api/mondrian/olap/MondrianProperties.html#LargeDimensionThreshold">      mondrian.rolap.LargeDimension Threshold</a></code></td>      <td>int</td>      <td>100</td>      <td>Determines when a dimension is considered &quot;large&quot;. If a dimension has      more than this number of members, Mondrian uses a      <a href="api/mondrian/rolap/SmartMemberReader.html">smart member reader</a>.</td>    </tr>    <tr>      <td>      <code><a href="api/mondrian/olap/MondrianProperties.html#SparseSegmentCountThreshold">      mondrian.rolap.SparseSegmentValueThreshold</a></code></td>      <td>int</td>      <td>1,000</td>      <td>The values of the      <code>mondrian.rolap. SparseSegment ValueThreshold</code> (<i>countThreshold</i>) and      <code>mondrian.rolap. SparseSegment DensityThreshold</code> (<i>densityThreshold</i>)      properties determine whether to choose a sparse or dense representation      when storing collections of cell values in memory.      <p>When storing      collections of cell values in memory, Mondrian has to choose between a      sparse and a dense representation, based upon the <i>possible</i> and <i>      actual</i> number of values. The <dfn><font face="Verdana">density</font></dfn>      is defined by the formula</p>        <p><code><i>density</i> = <i>actual / possible</i></code></p>      <p>Mondrian uses a sparse representation if</p>        <p><code>(possible - countThreshold) * densityThreshold &gt; actual</code></p>      <p>For example, at the default values (<i>countThreshold</i> = 1000 and <i>      densityThreshold</i> = 0.5), Mondrian use a dense representation for </p>      <ul>        <li>(1000 possible, 0 actual), or </li>        <li>(2000 possible, 500 actual), or</li>        <li>(3000 possible, 1000 actual).</li>      </ul>      <p>Any fewer actual values, or any more possible values, and Mondrian will      use a sparse representation.</p></td>    </tr>    <tr>      <td>      <code><a href="api/mondrian/olap/MondrianProperties.html#SparseSegmentDensityThreshold">      mondrian.rolap.SparseSegmentDensityThreshold</a></code></td>      <td>double</td>      <td>0.5</td>      <td>See <code>mondrian.rolap.SparseSegmentValueThreshold</code>.</td>    </tr>    <tr>      <td><code>      <a href="api/mondrian/olap/MondrianProperties.html#EnableTriggers">      mondrian.olap.triggers.enable</a></code></td>      <td>boolean</td>      <td>true</td>      <td>Whether to notify the Mondrian system when a property value changes.<p>      This allows objects dependent on Mondrian properties to react (that is,      reload), when a given property changes via, say,</p>        <p>&nbsp;<code>MondrianProperties.instance().populate(null)</code>;</p>        <p>or</p>        <p><code>MondrianProperties.instance().QueryLimit.set(50);</code></p>            </td>    </tr>    <tr>      <td><code>      <a href="api/mondrian/olap/MondrianProperties.html#CaseSensitive">      mondrian.olap.case.sensitive</a></code></td>      <td>boolean</td>      <td>false</td>      <td>Controls whether the MDX parser resolves uses case-sensitive matching      when looking up identifiers.</td>    </tr>    <tr>      <td><code>      <a href="api/mondrian/olap/MondrianProperties.html#CompareSiblingsByOrderKey">      mondrian.rolap.compareSiblingsByOrderKey</a></code></td>      <td>boolean</td>      <td>false</td>      <td>Controls whether sibling members are compared according to      the order key value fetched from their ordinal expression.  The      default value of false means ordinal expressions are only used      for ORDER BY, and the actual values produced are ignored inside      of Mondrian.  Changing this to true allows Mondrian to correctly      order members when native filtering is used, but requires that      the values produced by the DBMS are non-null instances of      <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Comparable.html">java.lang.Comparable</a> which yield the desired ordering      when their <code>Comparable.compareTo</code> method is called.      </td>    </tr>    <tr>      <td style="vertical-align: top;"><code>      <a href="api/mondrian/olap/MondrianProperties.html#LocalePropFile">      mondrian.rolap.localePropFile</a></code></td>      <td style="vertical-align: top;">string</td>      <td style="vertical-align: top;">null<br>      </td>      <td>Name of locale property file.<p>Used for the      <a href="api/mondrian/rolap/DynamicSchemaProcessor.html">LocalizingDynamicSchemaProcessor</a>; see      <a href="../schema/index.html#I18n">Internationalization</a> for more details.</td>    </tr>    <tr>      <td><a href="api/mondrian/olap/MondrianProperties.html#QueryTimeout">      <code>mondrian.rolap.queryTimeout</code></a></td>      <td>int</td>      <td>0</td>      <td>If set to a value greater than zero, limits the number of seconds      a query executes before it is aborted.<p>If a query exceeds the limit,      mondrian throws a <a href="api/mondrian/olap/QueryTimeoutException.html">mondrian.olap.QueryTimeoutException</a>y,      resulting in an error such as:</p>      <blockquote>          <p><code>Query timeout of 10 seconds reached</code></p>      </blockquote>      <p>See also      <a href="#limit_properties">limit properties</a>.</p></td>    </tr>    <tr>      <td><code>		<a href="api/mondrian/olap/MondrianProperties.html#EnableNonEmptyOnAllAxis">		mondrian.rolap.nonempty</a></code></td>      <td>boolean</td>      <td>false</td>      <td>If true, each query axis implicit has the NON EMPTY option set (and in		fact there is no way to display empty cells).</td>    </tr>    <tr>      <td><code><a href="api/mondrian/olap/MondrianProperties.html#IgnoreInvalidMembers">mondrian.rolap.ignoreInvalidMembers</a></code></td>      <td>boolean</td>      <td>false</td>      <td>If set to true, during schema load, invalid members are ignored        and will be treated as a null member if they are later referenced in        a query.</td>    </tr>    <tr>      <td><code><a href="api/mondrian/olap/MondrianProperties.html#IgnoreInvalidMembersDuringQuery">mondrian.rolap.ignoreInvalidMembersDuringQuery</a></code></td>      <td>boolean</td>      <td>false</td>      <td>If set to true, during query validation, invalid members are ignored        and will be treated as a null member.</td>    </tr>    <tr>      <td><code><a href="api/mondrian/olap/MondrianProperties.html#NullMemberRepresentation">mondrian.olap.NullMemberRepresentation</a></code></td>      <td>string</td>      <td>#null</td>      <td>Defines how a null Member is represented in the result output.      MSAS 2000 shows empty value while MSAS 2005 shows "(null)"</td>    </tr>    <tr>      <td><code><a href="api/mondrian/olap/MondrianProperties.html#IterationLimit">mondrian.rolap.IterationLimit</a></code></td>      <td>int</td>      <td>0</td>      <td>If > 0, the maximum number of iterations allowed when evaluating an        aggregate.  If 0, there is no limit.<p>If a query exceeds the limit,      mondrian throws a      <a href="api/mondrian/olap/ResourceLimitExceededException.html">mondrian.olap.ResourceLimitExceededException</a>,      resulting in an error such as:</p>      <blockquote>          <p><code>Number of iterations exceeded limit of 100</code></p>      </blockquote>      <p>See also      <a href="#limit_properties">limit properties</a>.</p></td>    </tr>    <tr>      <td>        <code>        <a href="api/mondrian/olap/MondrianProperties.html#CrossJoinOptimizerSize">mondrian.olap.fun.crossjoin.optimizer.size</a></code></td>      <td>int</td>      <td>0</td>      <td>         If a crossjoin input list's size is larger than this property's         value and the axis has the "NON EMPTY" qualifier, then         the crossjoin non-empty optimizer is applied.         Setting this value to '0' means that for all crossjoin         input lists in non-empty axes will have the optimizer applied.         On the other hand, if the value is set larger than any possible         list, say <code>Integer.MAX_VALUE</code>, then the optimizer         will never be applied.      </td>    </tr>    <tr>      <td>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -