3.2. OpenLink ODBC Driver for DB2 (Express Edition) for Windows

3.2.1. Installation

The OpenLink ODBCDriver for DB2 (Express Edition) is distributed as a Windows MSI installer. Simply double click the installer 'ntl6edb2.msi' to commence the installation:

Figure 3.25. EEWindb2inst00.png

EEWindb2inst00.png


Installer Welcome Dialog for the OpenLink ODBCDriver for DB2 (Express Edition):

Figure 3.26. EEWindb2inst01.png

EEWindb2inst01.png


Please read the software license agreement and accept before continuing your installation:

Figure 3.27. EEWindb2inst02.png

EEWindb2inst02.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 3.28. EEWindb2inst03.png

EEWindb2inst03.png


To obtain the trial license, you must be a registered user on the OpenLinkWeb site and login with the username (e-mail address) and password for that user name. 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 user e-mail address with a link to your OpenLinkData Space ( ODS), which contains all trial and full licenses in the Briefcase for download at a later date.

Figure 3.29. EEWindb2inst04.png

EEWindb2inst04.png


Select the license file to be used for the installation:

Figure 3.30. EEWindb2inst05.png

EEWindb2inst05.png


Choose to perform a custom, typical or complete installation of the driver:

Figure 3.31. EEWindb2inst06.png

EEWindb2inst06.png


Select the features to be installed:

Figure 3.32. EEWindb2inst07.png

EEWindb2inst07.png


Click the install button to begin installation of the components:

Figure 3.33. EEWindb2inst12.png

EEWindb2inst12.png


Installation in progress:

Figure 3.34. EEWindb2inst11.png

EEWindb2inst11.png


The software installation is complete and ready for use:

Figure 3.35. EEWindb2inst10.png

EEWindb2inst10.png


3.2.2. Configuration

To configure an ODBCDSN, run the ODBCAdministrator located in the Administrative Tools section of the Control Panel:

Figure 3.36. EEWindb2conf01.png

EEWindb2conf01.png


Click on the Drivers tab to confirm the OpenLinkDB2 ODBCDriver [Express Edition][6.0] has been successfully installed:

Figure 3.37. EEWindb2conf02.png

EEWindb2conf02.png


From either the User or System DSN tabs, click on the Add button and select the OpenLinkDB2 ODBCDriver [Express Edition][6.0] from the list presented:

Figure 3.38. EEWindb2conf03.png

EEWindb2conf03.png


In the Data Source tab, select a suitable DSN name and optional description for the Data Source to be created:

Figure 3.39. EEWindb2conf04.png

EEWindb2conf04.png


The Connection tab requests the minimum parameters required to make a connection to the target database:

Figure 3.40. EEWindb2conf05.png

EEWindb2conf05.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 DB2 is listening

  • Database : This is the name of a valid DB2 database alias to which you want to connect

  • Login ID : This is a valid user for the DB2 database

  • Password : This is a valid password for the DB2 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 3.41. EEWindb2conf06.png

EEWindb2conf06.png


Table 3.2. 

FullyMaterializeLobData Indicates whether the driver retrieves LOB locators for FETCH operations. The data type of this propery is boolean. If the value is true, LOB data is fully materialized within the JDBC driver when a row is fetched. If this value is false, LOB data is streamed.
ResultSetHoldability Specifies whether cursors remain open after a commit operation. Valid values are 1- HOLD_CURSORS_OVER_COMMIT or 2 - CLOSE_CURSORS_AT_COMMIT.
CLiSchema Specifies the schema of the DB2 shadow catalog tables or views that are searched when an application invokes a DatabaseMetaData method.
CurrentSchema Specifies the default schema name that is used to qualify unqualified database objects in dynamically prepared SQL statements. This value of this property sets the value in the CURRENT SCHEMA special register on a server other an a DB2 UDB for z/OS server. Do not set this property for a DB2 UDB for z/OS server.
CurrentSQLID Specifies the authorization ID that is used for authorization checking on dynamically prepared CREATE, GRANT, and REVOKE SQL statements. The owner of a table space, database, storage group, or synonym that is created by a dynamically issued CREATE statement. The implicit qualifier of all table, view, alias, and index names specified in dynamic SQL statements.
CurrentFunctionPath Species th SQL path that is used to resolve unqualified data type names and function names in SL statements that are in JDBC programs. The data type of this property is String. For a DB2 UDB for Linux, UNIX, and Windows server, the maximum length is 254 bytes. The value is a comma-separated list of schema names. Those names can be ordinary or delimited identifiers.
CurrentLockTimeout Directs DB2 UDB for Linux, UNIX, and Windows servers to wait indefinitely for a lock or to wait for the specified number of seconds for a lock when the lock cannot be obtained immediately. The data type of this property is Int. A value of zero means no wait. A value of -1 means to wait indefinitely. A postive integer indicates the number of seconds to wait for a lock.
JdbcCollection Specifies the collection ID for the packages that are used by an instance of the DB2 Universal JDBC Driver at run time. The data type of jdbcCollection is String. The default is NULLID.
CurrentPackageSet Specifies the collection ID to search for DB2 packages for the DB2 Universal JDBC Driver. The data type of this property is String. The default is NULLID. If currentPackageSet is set, its value overrides the value of jdbcCollection.
CurrentPackagePath Species a comma-separated list of collections on the server. The DB2 server searches these collections for the DB2 packages for the DB2 Universal JDBC Driver. The precedence rules for the currentPackagePath and currentPackageSet properties follow the precedence rules for the DB2 CURRENT PACKAGESET and CURRENT PACKAGE PATH special registers.
SecurityMechanism Specifies theDRDA security mechanism. Possible values are: 3 - User ID and password, 4 - User ID only, 7 - User ID, encrypted password, 9 - Encrypted user ID and password, 11 - Kerberos. If this property is specified, the specified security mechanism is the only mechanism that is used. If the security mechanism is not supported by the connection, an exception is thrown.
KerberosServerPrincipal For a data source that uses Kerberos security, this specifies the name that is used for the data source when it is registered with the Kerberos Key Distribution Center (KDC).
DeferPrepares Specifies whether to defer prepare operations until run time. The data type of this property is boolean.
ClientUser Specifies the current client user name for the connection. This information is for client accounting purposes. Unlike the connection user name, this value can change during a connection. For a DB2 UDB for Linux, UNIX, and Windows servers, the maximum length is 255 bytes.
ClientWorkstation Specifies the workstation name for the current client for the connection. This information is for client accounting purposes. This value can change during a connection. The data type of this property is String. For a DB2 UDB for Linux, UNIX, and Windows servers, the maximum length is 255 bytes.
ClientApplicationInformation Specifies the application information for the current client for the connection. This information is for client accounting purposes. This value can change during a connection. The data type of this property is String. For a DB2 UDB for Linux, UNIX, and Windows servers, the maximum length is 255 bytes.
ClientAccountingInformation Specifies accounting information for the current client for the connection. This information is for client accounting purposes. This value can change during a connection. The data type of this property is String. For a DB2 UDB for Linux, UNIX, and Windows servers, the maximum length is 255 bytes.

As indicated above, the parameters on the options and preferences tabs are not required for a basic connection.

Figure 3.42. EEWindb2conf07.png

EEWindb2conf07.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 3.43. EEWindb2conf08.png

EEWindb2conf08.png


  • Read Only connection - Specify whether the connection is to be "Read-only". Make sure the checkbox is unchecked to request a "Read/Write" connection

  • 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 ODBCtrace.

Figure 3.44. EEWindb2conf09.png

EEWindb2conf09.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 3.45. EEWindb2conf10.png

EEWindb2conf10.png