Installation and Configuration of the Single-Tier "Express" Edition ODBC Driver for MySQL Data Sources, for Windows
Review Preinstallation Documentation: Pre-Installation Requirements
Installation
- The
OpenLink ODBC Driver for MySQL (Express Edition) is distributed as a Windows MSI installer. Simply double click on the installer 'ntl6emys.msi' to commence the installation:
- This is the installer Welcome dialog for the
OpenLink ODBC Driver for MySQL (Express Edition):
- Read the Software License Agreement and accept before continuing your installation:
- Before installation, you will be prompted for a license file.
If a license file already exists on the machine, select the 'use existing file' option.
A trial (try) or full (buy) license can be obtained by selecting the 'try and buy' option, which loads
OpenLink's online try and buy web page:
- To obtain the trial license, you must be a registered user on the
OpenLink Web site and login with the username (e-mail address) and password for that user. Click on the 'Shop' link to visit our online shop cart to purchase a full license, if required.
- Click on the 'download license' button to obtain an immediate license file and save it to your desktop.
Alternatively, mail can be sent to your e-mail address with a link to your
OpenLink Data Space (ODS). Here, all trial and full license files will be stored in a specialized Briefcase for download at a later date.
- Select the license file to be used for the installation:
- Choose to perform a custom, typical, or complete installation of the driver:
- Select the features to be installed:
- Click the install button to begin the installation:
- Installation in progress:
- The installation is complete and ready for use:
Configuration
- Launch the ODBC Administrator appropriate to the bitness (32-bit or 64-bit) of your client application and driver.
- Click on the Drivers tab to confirm that the driver has been successfully installed:
- From either the User or System DSN tab, click on the Add button and select the Express Edition Driver from the list.
Select the Unicode version of the driver if and only if you are working with multi-byte character sets, as unnecessary translations can significantly affect ODBC performance:
- On the Data Source tab, provide a suitable DSN name and optional description for the Data Source to be created:
- The Connection Tab requests the minimum parameters required to make a connection to the target database:
- Host: This is the fully qualified hostname, or IP address, of the machine hosting the DBMS you wish to access, e.g., dbms-server.example.com or 192.168.155.123.
Any hostname, which can be resolved by your local DNS, is acceptable.
- Port: This is the port on which
MySQL is listening.
- Database: This is the name of the
MySQL database to which you want to connect
- Connect now to verify that all settings are correct: Will attempt to connect to the database, once you click Continue.
- Login ID: This is a valid user name for the
MySQL database.
- Password: This is a valid password for the
MySQL database.
- Host: This is the fully qualified hostname, or IP address, of the machine hosting the DBMS you wish to access, e.g., dbms-server.example.com or 192.168.155.123.
Any hostname, which can be resolved by your local DNS, is acceptable.
- The advanced button displays additional, optional parameters that can be configured:
Name Description SocketFactoryClassName The name of the class that the driver should use for creating socket connections to the server. This class must implement the interface 'com.mysl.jdbc.SocketFactory' and have no-args constructor. ConnectTimeout Timeout for socket connect (in milliseconds), with 0 being no timeout. SocketTimeout Timeout on network socket operations (0, the default means no timeout). IsInteractiveClient Set the CLIENT_INTERACTIVE flag, which tells MySQL to timeout connections based on INTERACTIVE_TIMEOUT instead of WAIT_TIMEOUT. UseCompression Use zlib compression when communicating with the server (true/false). AllowMultiQueries Allow the use of ';' to delimit multiple queries during one statement (true/false). UseSSL Use SSL when communicating with the server (true/false), defaults to 'false.' RequireSSL Require SSL connection if useSSL true.
AllowURLInLocalInfile Should the driver allow URLs in 'LOAD DATA LOCAL INFILE' statements? Paranoid Take measures to prevent exposure sensitive information in error messages and clear data structures holding sensitive data when possible? MetadataCacheSize The number of queries to cacheResultSetMetadata for if cacheResultSetMetaData is set to 'true.' BlobSendChunkSize Chunk to use when sending BLOB/CLOBs via ServerPreparedStatements. CacheServerConfiguration Should the driver cache the results of 'SHOW VARIABLES' and 'SHOW COLLATION' on a pre-URL basis? ElideSet AutoCommits If using MySQL 4.1 or newer, should the driver only issue 'set AutoCommitn' queries when the server's state doesn't match the requested state by Connection.set
AutoCommit (boolean)? UseReadAheadInput Use newer, optimized non-blocking, buffered input stream when reading from the server? UseUnicode Should the driver use Unicode character encodings when handling strings? Should only be used when the driver can't determine the character set mapping or you are trying to 'force' the driver to use a character set that MySQL either doesn't natively support (such as UTF-8), true/false. CharacterEncoding If 'useUnicode' is set to true, what character encoding should the driver use when dealing with strings? (defaults to 'autodetect') CharacterSetResults Character set to tell the server to return result as. ConnectionCollation If set, tells the server to use this collation via 'set collation_connection.' SessionVariables A comma-separated list of name/value pairs to be sent as SET SESSION to the server when the driver connects. - Click Next to proceed to the Options dialog.
This dialog contains optional parameters that are not required for basic ODBC connectivity:
- Drop Catalog name from
DatabaseMetaData calls - Enable this option to have the catalog name not appear for tables, views, and procedures when requesting database meta-data.
- Drop Schema name from
DatabaseMetaData calls - Enable this option to have the schema-name not appear for tables, views, and procedures when requesting database meta-data.
- Return an empty
ResultSet for SQLStatistics - Check this box to have SQLStatistics() return an empty resultset. Use this if the underlying database does not support retrieval of statistics about a table (e.g. what indexes it has).
- Disable support of quoted identifier - If set, the call
SQLGetInfo for 'SQL_IDENTIFIER_QUOTE_CHAR' will return a space (" "). It can be used if the DBMS doesn't support quoted SQL like select * from "account."
- No support of search string escape - If set, the call
SQLGetInfo for 'SQL_LIKE_ESCAPE_CLAUSE' will return a space (" "). It can be used if the DBMS doesn't support SQL escape patterns.
- Patch of null size of SQL_CHAR on - If set, this option overrides the size of SQL_CHAR column type returned by the database with the value set in the text box (in bytes).
With a default value of 0, the driver uses the size returned by the database.
- Drop Catalog name from
- Click Next to proceed to the Preferences dialog.
This dialog contains optional parameters that are not required for basic ODBC connectivity:
- Read-only connection - Specifies whether the connection is "Read-only." Make sure the checkbox is unchecked to request a "Read/Write" connection.
- Defer fetching of long data - Defers fetching of LONG (BINARY, BLOB etc.) data unless explicitly requested in a query.
This provides significant performance increases when fields in query do not include LONG data fields.
- Disable interactive login - Suppresses the ODBC "Username" and "Password" login dialog boxes when interacting with your ODBC DSN from within an ODBC compliant application.
- Row Buffer Size - This attribute specifies the number of records to be transported over the network in a single network hop.
Values can range from 1 to 99.
-
Max Rows Override - Allows you to define a limit on the maximum number of rows to be returned from a query. The default value of 0 means no limit.
- Initial SQL - Lets you specify a file containing SQL statements that will be run automatically against the database upon connection.
- Dynamic Cursor Sensitivity - Enables or disables the row version cache used with dynamic cursors.
When dynamic cursor sensitivity is set high, the Cursor Library calculates checksums for each row in the current rowset and compares these with the checksums (if any) already stored in the row version cache for the same rows when fetched previously.
If the checksums differ for a row, the row has been updated since it was last fetched and the row status flag is set to SQL_ROW_UPDATED.
The row version cache is then updated with the latest checksums for the rowset.
From the user's point of view, the only visible difference between the two sensitivity settings is that a row status flag can never be set to SQL_ROW_UPDATED when the cursor sensitivity is low.
(The row status is instead displayed as SQL_ROW_SUCCESS.) In all other respects, performance aside, the two settings are the same.
Deleted rows don't appear in the rowset.
Updates to the row since the row was last fetched are reflected in the row data, and inserted rows appear in the rowset, if their keys fall within the span of the rowset.
If your application does not need to detect the row status SQL_ROW_UPDATED, you should leave the 'High Cursor Sensitivity' checkbox unchecked, as performance is improved.
The calculation and comparison of checksums for each row fetched carries an overhead.
If this option is enabled, the table oplrvc must have been created beforehand using the appropriate script for the target database.
- Enable logging to the log file - Pass a full path to an arbitrary log file that will be used to log ODBC API and SQL related errors.
- Read-only connection - Specifies whether the connection is "Read-only." Make sure the checkbox is unchecked to request a "Read/Write" connection.
- Click Next to set optional parameters that ensure compatibility with various applications:
- Disable Autocommit - Changes the default commit behaviour of the
OpenLink driver. The default mode is AutoCommit (box unchecked).
- Disable Rowset Size Limit - Disables a limitation enforced by the cursor library.
This limitation is enforced by default.
It prevents the driver from claiming all available memory in the event that a resultset generated from an erroneous query is very large.
The limit is normally never reached.
- Multiple Active Statements Emulation - Enables use of Multiple Active statements in an ODBC application even if the underlying database does not allow this, as it is emulated in the driver.
- SQL_DBMS Name - Manually overrides the
SQLGetInfo(SQL_DBMS_NAME) response returned by the driver. This is required for products like Microsoft InfoPath for which the return the value should be "SQL Server".
- Disable Autocommit - Changes the default commit behaviour of the
- Click on the Test Data Source button to verify that a successful connection can be made to the database.
Next...
- Test your DSNs with our sample program.
- If anything isn't working as you expect, including errors resulting from the test above, see our Troubleshooting Resources.
- Should you decide to purchase a commercial license at the end of your evaluation period, be sure to consult our documentation which explains the placement and uptake of commercial license files and the use of our
OpenLink License Manager technology: License Technology & Application.
- Click Next to proceed to the Options dialog.
This dialog contains optional parameters that are not required for basic ODBC connectivity:
Referenced by...