<topic id="c26b6c1a-1652-4d9d-ac74-96cee9531a3b" revisionNumber="1">
  <developerConceptualDocument xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:xlink="http://www.w3.org/1999/xlink">
    <section address="connector-net-connection-options">
      <title>Connector/Net Connection String Options Reference</title>
      <content>
        <para>
    For usage information about connection strings, see
    <link xlink:href="8b7d06e8-0177-4dd0-acca-f9c9caaa1072#connector-net-programming-connecting-connection-string">Creating a Connector/Net Connection String</link>.
    The first table list options that apply generally to all server
    configurations. The options related to systems using a connection
    pool are split into a separate table.
  </para>
        <table>
          <row>
            <entry>
              <para>
                <literal>Allow Batch</literal>, <literal>AllowBatch</literal></para>
            </entry>
            <entry>
              <para>true</para>
            </entry>
            <entry>
              <para>When true, multiple SQL statements can be sent with one command
            execution. Note: starting with MySQL 4.1.1, batch statements
            should be separated by the server-defined separator
            character. Commands sent to earlier versions of MySQL should
            be separated with ';'.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Allow User Variables</literal>,
            <literal>AllowUserVariables</literal></para>
            </entry>
            <entry>
              <para>false</para>
            </entry>
            <entry>
              <para>Setting this to <literal>true</literal> indicates that the provider
            expects user variables in the SQL. This option was added in
            Connector/Net version 5.2.2.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Allow Zero Datetime</literal>,
            <literal>AllowZeroDateTime</literal></para>
            </entry>
            <entry>
              <para>false</para>
            </entry>
            <entry>
              <para>If set to <literal>True</literal>,
            <literal>MySqlDataReader.GetValue()</literal> returns a
            <literal>MySqlDateTime</literal> object for date or datetime
            columns that have disallowed values, such as zero datetime
            values, and a <literal>System.DateTime</literal> object for
            valid values. If set to <literal>False</literal> (the
            default setting) it will cause a
            <literal>System.DateTime</literal> object to be returned for
            all legal values and an exception to be thrown for
            disallowed values, such as zero datetime values.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Auto Enlist</literal>, <literal>AutoEnlist</literal></para>
            </entry>
            <entry>
              <para>true</para>
            </entry>
            <entry>
              <para>If <literal>AutoEnlist</literal> is set to <literal>true</literal>,
            which is the default, a connection opened using
            <literal>TransactionScope</literal> participates in this
            scope, it commits when the scope commits and rolls back if
            <literal>TransactionScope</literal> does not commit.
            However, this feature is considered security sensitive and
            therefore cannot be used in a medium trust environment.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>BlobAsUTF8ExcludePattern</literal>
              </para>
            </entry>
            <entry>
              <para>null</para>
            </entry>
            <entry>
              <para>A POSIX-style regular expression that matches the names of BLOB columns
            that do not contain UTF-8 character data. See
            <link xlink:href="8b7d06e8-0177-4dd0-acca-f9c9caaa1072#connector-net-using-character-sets">Character Set Considerations for Connector/Net</link> for
            usage details.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>BlobAsUTF8IncludePattern</literal>
              </para>
            </entry>
            <entry>
              <para>null</para>
            </entry>
            <entry>
              <para>A POSIX-style regular expression that matches the names of BLOB columns
            containing UTF-8 character data. See
            <link xlink:href="8b7d06e8-0177-4dd0-acca-f9c9caaa1072#connector-net-using-character-sets">Character Set Considerations for Connector/Net</link> for
            usage details.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Certificate File</literal>, <literal>CertificateFile</literal></para>
            </entry>
            <entry>
              <para>null</para>
            </entry>
            <entry>
              <para>This option specifies the path to a certificate file in PKCS #12 format
            (<literal>.pfx</literal>). For an example of usage, see
            <link xlink:href="34e3033f-b986-4073-95c8-945f73aa79b0#connector-net-tutorials-ssl">Tutorial: Using SSL with </link>. Was
            introduced with 6.2.1.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Certificate Password</literal>,
            <literal>CertificatePassword</literal></para>
            </entry>
            <entry>
              <para>null</para>
            </entry>
            <entry>
              <para>Specifies a password that is used in conjunction with a certificate
            specified using the option
            <literal>CertificateFile</literal>. For an example of usage,
            see <link xlink:href="34e3033f-b986-4073-95c8-945f73aa79b0#connector-net-tutorials-ssl">Tutorial: Using SSL with </link>. Was
            introduced with 6.2.1.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Certificate Store Location</literal>,
            <literal>CertificateStoreLocation</literal></para>
            </entry>
            <entry>
              <para>null</para>
            </entry>
            <entry>
              <para>Enables you to access a certificate held in a personal store, rather
            than use a certificate file and password combination. For an
            example of usage, see
            <link xlink:href="34e3033f-b986-4073-95c8-945f73aa79b0#connector-net-tutorials-ssl">Tutorial: Using SSL with </link>. Was
            introduced with 6.2.1.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Certificate Thumbprint</literal>,
            <literal>CertificateThumbprint</literal></para>
            </entry>
            <entry>
              <para>null</para>
            </entry>
            <entry>
              <para>Specifies a certificate thumbprint to ensure correct identification of a
            certificate contained within a personal store. For an
            example of usage, see
            <link xlink:href="34e3033f-b986-4073-95c8-945f73aa79b0#connector-net-tutorials-ssl">Tutorial: Using SSL with </link>. Was
            introduced with 6.2.1.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>CharSet</literal>, <literal>Character Set</literal>,
            <literal>CharacterSet</literal></para>
            </entry>
            <entry>
              <para>
              </para>
            </entry>
            <entry>
              <para>Specifies the character set that should be used to encode all queries
            sent to the server. Resultsets are still returned in the
            character set of the result data.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Check Parameters</literal>, <literal>CheckParameters</literal></para>
            </entry>
            <entry>
              <para>true</para>
            </entry>
            <entry>
              <para>Indicates if stored routine parameters should be checked against the
            server.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Command Interceptors</literal>,
            <literal>CommandInterceptors</literal></para>
            </entry>
            <entry>
              <para>
              </para>
            </entry>
            <entry>
              <para>The list of interceptors that can intercept SQL command operations.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Connect Timeout</literal>, <literal>Connection
            Timeout</literal>, <literal>ConnectionTimeout</literal></para>
            </entry>
            <entry>
              <para>15</para>
            </entry>
            <entry>
              <para>The length of time (in seconds) to wait for a connection to the server
            before terminating the attempt and generating an error.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Convert Zero Datetime</literal>,
            <literal>ConvertZeroDateTime</literal></para>
            </entry>
            <entry>
              <para>false</para>
            </entry>
            <entry>
              <para>True to have <literal>MySqlDataReader.GetValue()</literal> and
            <literal>MySqlDataReader.GetDateTime()</literal> return
            <literal>DateTime.MinValue</literal> for date or datetime
            columns that have disallowed values.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Default Command Timeout</literal>,
            <literal>DefaultCommandTimeout</literal></para>
            </entry>
            <entry>
              <para>30</para>
            </entry>
            <entry>
              <para>Sets the default value of the command timeout to be used. This does not
            supercede the individual command timeout property on an
            individual command object. If you set the command timeout
            property, that will be used. This option was added in
            Connector/Net 5.1.4</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Default Table Cache Age</literal>,
            <literal>DefaultTableCacheAge</literal></para>
            </entry>
            <entry>
              <para>60</para>
            </entry>
            <entry>
              <para>Specifies how long a <literal>TableDirect</literal> result should be
            cached, in seconds. For usage information about table
            caching, see
            <link xlink:href="8b7d06e8-0177-4dd0-acca-f9c9caaa1072#connector-net-programming-tablecaching">Using Connector/Net with Table Caching</link>.
            This option was added in Connector/Net 6.4.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Encrypt</literal>, <literal>UseSSL</literal></para>
            </entry>
            <entry>
              <para>false</para>
            </entry>
            <entry>
              <para>For Connector/Net 5.0.3 and later, when <literal>true</literal>, SSL
            encryption is used for all data sent between the client and
            server if the server has a certificate installed. Recognized
            values are <literal>true</literal>,
            <literal>false</literal>, <literal>yes</literal>, and
            <literal>no</literal>. In versions before 5.0.3, this option
            had no effect. From version 6.2.1, this option is deprecated
            and is replaced by <literal>SSL Mode</literal>. The option
            still works if used. If this option is set to true, it is
            equivalent to <literal>SSL Mode = Preferred</literal>.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Exception Interceptors</literal>,
            <literal>ExceptionInterceptors</literal></para>
            </entry>
            <entry>
              <para>
              </para>
            </entry>
            <entry>
              <para>The list of interceptors that can triage thrown
            <literal>MySqlException</literal> exceptions.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Functions Return String</literal>,
            <literal>FunctionsReturnString</literal></para>
            </entry>
            <entry>
              <para>false</para>
            </entry>
            <entry>
              <para>Causes the connector to return binary/varbinary values as strings, if
            they do not have a tablename in the metadata.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Host</literal>, <literal>Server</literal>, <literal>Data
            Source</literal>, <literal>DataSource</literal>,
            <literal>Address</literal>, <literal>Addr</literal>,
            <literal>Network Address</literal></para>
            </entry>
            <entry>
              <para>localhost</para>
            </entry>
            <entry>
              <para>The name or network address of the instance of MySQL to which to
            connect. Multiple hosts can be specified separated by
            commas. This can be useful where multiple MySQL servers are
            configured for replication and you are not concerned about
            the precise server you are connecting to. No attempt is made
            by the provider to synchronize writes to the database, so
            take care when using this option. In Unix environment with
            Mono, this can be a fully qualified path to a MySQL socket
            file. With this configuration, the Unix socket will be used
            instead of the TCP/IP socket. Currently, only a single
            socket name can be given, so accessing MySQL in a replicated
            environment using Unix sockets is not currently supported.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Ignore Prepare</literal>, <literal>IgnorePrepare</literal></para>
            </entry>
            <entry>
              <para>true</para>
            </entry>
            <entry>
              <para>When true, instructs the provider to ignore any calls to
            <literal>MySqlCommand.Prepare()</literal>. This option is
            provided to prevent issues with corruption of the statements
            when used with server-side prepared statements. If you use
            server-side prepare statements, set this option to false.
            This option was added in Connector/Net 5.0.3 and
            Connector/Net 1.0.9.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Initial Catalog</literal>, <literal>Database</literal></para>
            </entry>
            <entry>
              <para>mysql</para>
            </entry>
            <entry>
              <para>The case-sensitive name of the database to use initially.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Interactive</literal>, <literal>Interactive Session</literal>,
            <literal>InteractiveSession</literal></para>
            </entry>
            <entry>
              <para>false</para>
            </entry>
            <entry>
              <para>If set to true, the client is interactive. An interactive client is one
            where the server variable
            <literal>CLIENT_INTERACTIVE</literal> is set. If an
            interactive client is set, the
            <literal>wait_timeout</literal> variable is set to the value
            of <literal>interactive_timeout</literal>. The client will
            then timeout after this period of inactivity. More details
            can be found in the server manual
            <link xlink:href="server-system-variables"></link>.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Integrated Security</literal>,
            <literal>IntegratedSecurity</literal></para>
            </entry>
            <entry>
              <para>no</para>
            </entry>
            <entry>
              <para>Use Windows authentication when connecting to server. By default, it is
            turned off. To enable, specify a value of
            <literal>yes</literal>. (You can also use the value
            <literal>sspi</literal> as an alternative to
            <literal>yes</literal>.) For details, see
            <link xlink:href="8b7d06e8-0177-4dd0-acca-f9c9caaa1072#connector-net-programming-authentication-windows-native">Using the Windows Native Authentication Plugin</link>.
            This option was introduced in Connector/Net 6.4.4.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Keep Alive</literal>, <literal>Keepalive</literal></para>
            </entry>
            <entry>
              <para>0</para>
            </entry>
            <entry>
              <para>For TCP connections, idle connection time measured in seconds, before
            the first keepalive packet is sent. A value of 0 indicates
            that keepalive is not used.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Logging</literal>
              </para>
            </entry>
            <entry>
              <para>false</para>
            </entry>
            <entry>
              <para>When true, various pieces of information is output to any configured
            TraceListeners. See
            <link xlink:href="8b7d06e8-0177-4dd0-acca-f9c9caaa1072#connector-net-programming-tracing">Using the  Trace Source Object</link> for
            further details.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Old Guids</literal>, <literal>OldGuids</literal></para>
            </entry>
            <entry>
              <para>false</para>
            </entry>
            <entry>
              <para>This option was introduced in Connector/Net 6.1.1. The backend
            representation of a GUID type was changed from
            <literal>BINARY(16)</literal> to
            <literal>CHAR(36)</literal>. This was done to allow
            developers to use the server function
            <literal>UUID()</literal> to populate a GUID
            table - <literal>UUID()</literal> generates a 36-character
            string. Developers of older applications can add
            <literal>'Old Guids=true'</literal> to the connection string
            to use a GUID of data type
            <literal>BINARY(16)</literal>.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Old Syntax</literal>, <literal>OldSyntax</literal>,
            <literal>Use Old Syntax</literal>,
            <literal>UseOldSyntax</literal></para>
            </entry>
            <entry>
              <para>false</para>
            </entry>
            <entry>
              <para>This option was deprecated in Connector/Net 5.2.2. All code should now
            be written using the '@' symbol as the parameter marker.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Password</literal>, <literal>pwd</literal></para>
            </entry>
            <entry>
              <para>
              </para>
            </entry>
            <entry>
              <para>The password for the MySQL account being used.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Persist Security Info</literal>,
            <literal>PersistSecurityInfo</literal></para>
            </entry>
            <entry>
              <para>false</para>
            </entry>
            <entry>
              <para>When set to <literal>false</literal> or <literal>no</literal> (strongly
            recommended), security-sensitive information, such as the
            password, is not returned as part of the connection if the
            connection is open or has ever been in an open state.
            Resetting the connection string resets all connection string
            values, including the password. Recognized values are
            <literal>true</literal>, <literal>false</literal>,
            <literal>yes</literal>, and <literal>no</literal>.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Pipe Name</literal>, <literal>Pipe</literal>,
            <literal>PipeName</literal></para>
            </entry>
            <entry>
              <para>mysql</para>
            </entry>
            <entry>
              <para>When set to the name of a named pipe, the
            <literal>MySqlConnection</literal> will attempt to connect
            to MySQL on that named pipe. This setting only applies to
            the Windows platform.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Port</literal>
              </para>
            </entry>
            <entry>
              <para>3306</para>
            </entry>
            <entry>
              <para>The port MySQL is using to listen for connections. This value is ignored
            if Unix socket is used.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Procedure Cache Size</literal>,
            <literal>ProcedureCacheSize</literal>, <literal>procedure
            cache</literal>, <literal>procedurecache</literal></para>
            </entry>
            <entry>
              <para>25</para>
            </entry>
            <entry>
              <para>Sets the size of the stored procedure cache. By default, Connector/Net
            stores the metadata (input/output data types) about the last
            25 stored procedures used. To disable the stored procedure
            cache, set the value to zero (0). This option was added in
            Connector/Net 5.0.2 and Connector/Net 1.0.9.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Protocol</literal>, <literal>Connection Protocol</literal>,
            <literal>ConnectionProtocol</literal></para>
            </entry>
            <entry>
              <para>socket</para>
            </entry>
            <entry>
              <para>Specifies the type of connection to make to the server. Values can be:
            <literal>socket</literal> or <literal>tcp</literal> for a
            socket connection, <literal>pipe</literal> for a named pipe
            connection, <literal>unix</literal> for a Unix socket
            connection, <literal>memory</literal> to use MySQL shared
            memory.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Replication</literal>
              </para>
            </entry>
            <entry>
              <para>false</para>
            </entry>
            <entry>
              <para>Indicates if this connection is to use replicated servers.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Respect Binary Flags</literal>,
            <literal>RespectBinaryFlags</literal></para>
            </entry>
            <entry>
              <para>true</para>
            </entry>
            <entry>
              <para>Setting this option to <literal>false</literal> means that Connector/Net
            ignores a column's binary flags as set by the server. This
            option was added in Connector/Net version 5.1.3.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Shared Memory Name</literal>,
            <literal>SharedMemoryName</literal></para>
            </entry>
            <entry>
              <para>MYSQL</para>
            </entry>
            <entry>
              <para>The name of the shared memory object to use for communication if the
            connection protocol is set to <literal>memory</literal>.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Sql Server Mode</literal>, <literal>sqlservermode</literal></para>
            </entry>
            <entry>
              <para>false</para>
            </entry>
            <entry>
              <para>Allow SQL Server syntax. When set to <literal>true</literal>, enables
            Connector/Net to support square brackets around symbols
            instead of backticks. This enables Visual Studio wizards
            that bracket symbols with [] to work with Connector/Net.
            This option incurs a performance hit, so should only be used
            if necessary. This option was added in version 6.3.1.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>SSL Mode</literal>, <literal>SslMode</literal></para>
            </entry>
            <entry>
              <para>None</para>
            </entry>
            <entry>
              <para>This option has the following values:

            <list class="bullet"><listItem><para><legacyBold>None</legacyBold> - do not use
                  SSL.
                </para></listItem><listItem><para><legacyBold>Preferred</legacyBold> - use SSL
                  if the server supports it, but allow connection in all
                  cases.
                </para></listItem><listItem><para><legacyBold>Required</legacyBold> - Always use
                  SSL. Deny connection if server does not support SSL.
                </para></listItem><listItem><para><legacyBold>VerifyCA</legacyBold> - Always use
                  SSL. Validate the CA but tolerate name mismatch.
                </para></listItem><listItem><para><legacyBold>VerifyFull</legacyBold> - Always
                  use SSL. Fail if the host name is not correct.
                </para></listItem></list><para>
              This option was introduced in  6.2.1.
            </para></para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Table Cache</literal>, <literal>tablecache</literal>,
            <literal>tablecaching</literal></para>
            </entry>
            <entry>
              <para>false</para>
            </entry>
            <entry>
              <para>Enables or disables caching of <literal>TableDirect</literal> commands.
            A value of <literal>true</literal> enables the cache while
            <literal>false</literal> disables it. For usage information
            about table caching, see
            <link xlink:href="8b7d06e8-0177-4dd0-acca-f9c9caaa1072#connector-net-programming-tablecaching">Using Connector/Net with Table Caching</link>.
            This option was added in Connector/Net 6.4.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Treat BLOBs as UTF8</literal>,
            <literal>TreatBlobsAsUTF8</literal></para>
            </entry>
            <entry>
              <para>false</para>
            </entry>
            <entry>
              <para>
              </para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Treat Tiny As Boolean</literal>,
            <literal>TreatTinyAsBoolean</literal></para>
            </entry>
            <entry>
              <para>true</para>
            </entry>
            <entry>
              <para>Setting this value to <literal>false</literal> indicates that
            <literal>TINYINT(1)</literal> will be treated as an
            <literal>INT</literal>. See
            <link xlink:href="numeric-type-overview"></link> for a further
            explanation of the <literal>TINYINT</literal>
            and <literal>BOOL</literal> data types.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Use Affected Rows</literal>, <literal>UseAffectedRows</literal></para>
            </entry>
            <entry>
              <para>false</para>
            </entry>
            <entry>
              <para>When <literal>true</literal> the connection will report changed rows
            instead of found rows. This option was added in
            Connector/Net version 5.2.6.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Use Procedure Bodies</literal>,
            <literal>UseProcedureBodies</literal>, <literal>procedure
            bodies</literal></para>
            </entry>
            <entry>
              <para>true</para>
            </entry>
            <entry>
              <para>When set to <literal>true</literal>, the default value,  expects
            the body of the procedure to be viewable. This enables it to
            determine the parameter types and order. Set the option to
            <literal>false</literal> when the user connecting to the
            database does not have the
            <literal>SELECT</literal> privileges for the
            <literal>mysql.proc</literal> (stored procedures) table, or
            cannot view
            <literal>INFORMATION_SCHEMA.ROUTINES</literal>. In
            this case,  cannot determine the types and order of
            the parameters, and must be alerted to this fact by setting
            this option to <literal>false</literal>. When set to
            <literal>false</literal>,  does not rely on this
            information being available when the procedure is called.
            Because  will not be able to determine this
            information, explicitly set the types of all the parameters
            before the call and add the parameters to the command in the
            same order as they appear in the procedure definition. This
            option was added in  5.0.4 and  1.0.10.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>User Id</literal>, <literal>UserID</literal>,
            <literal>Username</literal>, <literal>Uid</literal>,
            <literal>User name</literal>, <literal>User</literal></para>
            </entry>
            <entry>
              <para>
              </para>
            </entry>
            <entry>
              <para>The MySQL login account being used.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Compress</literal>, <literal>Use Compression</literal>,
            <literal>UseCompression</literal></para>
            </entry>
            <entry>
              <para>false</para>
            </entry>
            <entry>
              <para>
                <para>
              Setting this option to <literal>true</literal> enables
              compression of packets exchanged between the client and
              the server. This exchange is defined by the MySQL
              client/server protocol.
            </para>
                <para>
              Compression is used if both client and server support ZLIB
              compression, and the client has requested compression
              using this option.
            </para>
                <para>
              A compressed packet header is: packet length (3 bytes),
              packet number (1 byte), and Uncompressed Packet Length (3
              bytes). The Uncompressed Packet Length is the number of
              bytes in the original, uncompressed packet. If this is
              zero, the data in this packet has not been compressed.
              When the compression protocol is in use, either the client
              or the server may compress packets. However, compression
              will not occur if the compressed length is greater than
              the original length. Thus, some packets will contain
              compressed data while other packets will not.
            </para>
              </para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Use Usage Advisor</literal>, <literal>Usage Advisor</literal>,
            <literal>UseUsageAdvisor</literal></para>
            </entry>
            <entry>
              <para>false</para>
            </entry>
            <entry>
              <para>Logs inefficient database operations.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Use Performance Monitor</literal>,
            <literal>UsePerformanceMonitor</literal>,
            <literal>userperfmon</literal>, <literal>perfmon</literal></para>
            </entry>
            <entry>
              <para>false</para>
            </entry>
            <entry>
              <para>Indicates that performance counters should be updated during execution.</para>
            </entry>
          </row>
        </table>
        <para>
    The following table lists the valid names for options related to
    connection pooling within the <literal>ConnectionString</literal>.
    For more information about connection pooling, see
    <link xlink:href="8b7d06e8-0177-4dd0-acca-f9c9caaa1072#connector-net-programming-connection-pooling">Using Connector/Net with Connection Pooling</link>.
  </para>
        <table>
          <row>
            <entry>
              <para>
                <literal>Cache Server Properties</literal>,
            <literal>CacheServerProperties</literal></para>
            </entry>
            <entry>
              <para>false</para>
            </entry>
            <entry>
              <para>Specifies whether server variable settings are updated by a
            <literal>SHOW VARIABLES</literal> command each time a pooled
            connection is returned. Enabling this setting speeds up
            connections in a connection pool environment. Your
            application will not be informed of any changes to
            configuration variables made by other connections. This
            option was added in Connector/Net 6.3.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Connection Lifetime</literal>,
            <literal>ConnectionLifeTime</literal></para>
            </entry>
            <entry>
              <para>0</para>
            </entry>
            <entry>
              <para>When a connection is returned to the pool, its creation time is compared
            with the current time, and the connection is destroyed if
            that time span (in seconds) exceeds the value specified by
            <literal>Connection Lifetime</literal>. This is useful in
            clustered configurations to force load balancing between a
            running server and a server just brought online. A value of
            zero (0) causes pooled connections to have the maximum
            connection timeout.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Connection Reset</literal>, <literal>ConnectionReset</literal></para>
            </entry>
            <entry>
              <para>false</para>
            </entry>
            <entry>
              <para>If true, the connection state will be reset when it is retrieved from
            the pool. The default value of false avoids making an
            additional server round trip when obtaining a connection,
            but the connection state is not reset.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Maximum Pool Size</literal>, <literal>Max Pool Size</literal>,
            <literal>maximumpoolsize</literal></para>
            </entry>
            <entry>
              <para>100</para>
            </entry>
            <entry>
              <para>The maximum number of connections allowed in the pool.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Minimum Pool Size</literal>, <literal>Min Pool Size</literal>,
            <literal>MinimumPoolSize</literal></para>
            </entry>
            <entry>
              <para>0</para>
            </entry>
            <entry>
              <para>The minimum number of connections allowed in the pool.</para>
            </entry>
          </row>
          <row>
            <entry>
              <para>
                <literal>Pooling</literal>
              </para>
            </entry>
            <entry>
              <para>true</para>
            </entry>
            <entry>
              <para>When <literal>true</literal>, the <literal>MySqlConnection</literal>
            object is drawn from the appropriate pool, or if necessary,
            is created and added to the appropriate pool. Recognized
            values are <literal>true</literal>,
            <literal>false</literal>, <literal>yes</literal>, and
            <literal>no</literal>.</para>
            </entry>
          </row>
        </table>
      </content>
    </section>
  </developerConceptualDocument>
</topic>