7.2. OpenLink ODBC Driver for MySQL (Express Edition) for Windows
The OpenLink ODBCDriver for MySQL(Express Edition) is distributed as a Windows MSI installer. Simply double click on the installer 'ntl6emys.msi' to commence the installation:
Figure 7.32. EEWinmysinst01.png
Installer Welcome Dialog for the OpenLink ODBCDriver for MySQL(Express Edition):
Figure 7.33. EEWinmysinst02.png
Please read the software license agreement and accept before continuing your installation:
Figure 7.34. EEWinmysinst03.png
Before installation you will be prompted for a license file. If a license file already exists on the machine, then select the 'use exisiting 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:
Figure 7.35. EEWinmysinst04.png
To obtain the trial license, you must be a registered user on the OpenLinkWeb site and login with your username (e-mail address) and password. Click on the 'Shop' link to visit OpenLink's online shop cart to purchase a full license, if required:
Click on the 'download license' button to immediately obtain the license file and save it to your desktop. Alternatively, an auto-generated e-mail will be sent to your registered e-mail address. This email will contain a link to your OpenLinkData Space ( ODS). The OpenLinkData Space ( ODS) contains copies of all trial and full license files in a Briefcase for download at a later date.
Figure 7.36. EEWinmysinst05.png
Select the license file to be used for the installation:
Figure 7.37. EEWinmysinst06.png
Choose to perform a custom, typical or complete installation of the driver:
Figure 7.38. EEWinmysinst07.png
Select the features to be installed:
Figure 7.39. EEWinmysinst08.png
Click the install button to begin the installation of components:
Figure 7.40. EEWinmysinst09.png
Installation in progress:
Figure 7.41. EEWinmysinst10.png
The Software installation is complete and ready for use:
Figure 7.42. EEWinmysinst11.png
To configure an ODBCDSN, run the ODBCAdministrator located in the Administrative Tools section of the Control Panel:
Figure 7.43. EEWinmysconf01.png
Click on the Drivers tab to confirm the OpenLink MySQL ODBCDriver [Express Edition][6.0] has been successfully installed:
Figure 7.44. EEWinmysconf02.png
From either the User or System DSN tabs, click on the Add button and select the OpenLink MySQL ODBCDriver [Express Edition][6.0] from the list :
Figure 7.45. EEWinmysconf03.png
In the Data Source tab, select a suitable DSN name and optional description for the Data Source to be created:
Figure 7.46. EEWinmysconf04.png
The Connection tab requests the minimum parameters required to make a connection to the target database:
Figure 7.47. EEWinmysconf05.png
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 will 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
Login ID : This is a valid user name for the MySQL database
Password : This is a valid password for the MySQL database
Click next to verify that all settings are correct or uncheck the check box to delay testing to a later stage.
The advanced button displays additional, optional parameters that can be configured:
Figure 7.48. EEWinmysconf06.png
|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?|
|ElideSetAutoCommits||If using MySQL 4.1 or newer, should the driver only issue 'set autocommit=n' queries when the server's state doesn't match the requested state by Connection.setAutoCommit (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.|
As indicated above, the parameters on the options and preferences tabs are not required for a basic connection.
Figure 7.49. EEWinmysconf17.png
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 retrieving statistics about a table, e.g., what indexes there are on it.
Disable support of quoted identifier - If it is set, the call SQLGetInfo for 'SQL_IDENTIFIER_QUOTE_CHAR' will return the space (" "). It can be used if the DBMS does not support quoted SQL, e.g., select * from "account."
Disable support of search pattern escape - If it is set, the call SQLGetInfo for 'SQL_LIKE_ESCAPE_CLAUSE' will return the space (" "). It can be used if the DBMS does not support SQL escape patterns.
Patch of NULL size of SQL_CHAR - 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 the default value of 0, the driver uses the size returned by the database.
Figure 7.50. EEWinmysconf08.png
Disable Interactive Login - Suppress the ODBC "Username" and "Password" login dialog box 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 automatically run 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 do not 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 OpenLink script for the target database.
Enable logging to the log file: - Specifies the full path to a text file. If the associated checkbox is checked, and a file is passed, the driver will log auto-generate a clientside ODBC trace.
Figure 7.51. EEWinmysconf09.png
Disable AutoCommit - Change the default commit behaviour of the OpenLink Driver. The default mode is AutoCommit (box unchecked).
Disable Rowset Size Limit - Disable the limitation enforced by the cursor library. The limitation is enforced by default to prevent the Driver 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 override the SQLGetInfo(SQL_DBMS_NAME) response returned by the driver. This is required for products like Microsoft InfoPath for which the return value must be "SQL Server".
Click on the Test Data Sourcebutton to verify that a successful connection can be made to the database.
Figure 7.52. EEWinmysconf10.png