How To Install and Configure the Multi-Tier Edition JDBC Drivers for Microsoft SQL Server (macOS)

Server Components

Installation (Request Broker and Database Agent)


There are no Server Components to Install

Non-Advanced Users should proceed to the Client Components installation and configuration guides
  1. To configure an ODBC DSN, run the OpenLink iODBC Administrator located in the /Applications/iODBC folder:
  2. Click the System DSN tab:
  3. Click the Add button. Then, select the OpenLink SQL Server Lite Driver from the list of available drivers. 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:
  4. Click Finish.
  5. The Data Source tab prompts for a DSN name, description, and information that identifies the target Microsoft SQL Server DBMS:
    • DSN - (Required) A brief and meaningful title for your Data Source Name
    • Description - (Optional) A longer description for your Data Source Name
    • Server Name - (Required) Use the drop-down menu to invoke the driver's dynamic discovery of Microsoft SQL Server instances on the network and choose the desired instance.
    • Use the "Advanced" button to manually configure a connection if the Microsoft SQL Server instance could not be dynamically located, as detailed below:
    • Server Type - An OpenLink proprietary parameter that associates the connection with a particular TDS version.
    • Hostname - The hostname or IP address on which Microsoft SQL Server listens. May include an instance name, as discussed below (e.g., "MySQLHost.example.com\MySQLInstance").
    • Port number - The TCP port on which Microsoft SQL Server listens. Leave blank when SQL Server TCP/IP port setting is "Dynamic."
    • Server Name - (Optional) Microsoft SQL Server instance name on the specified host. Usually not specified unless SQL Server TCP/IP port setting is "Dynamic." Though not optimal, a Microsoft SQL Server instance name can be specified by instead appending "\\InstanceName" to the Hostname field above (e.g., "MySQLHost.example.com\\MySQLInstance").
    • Mirror Host - The name of the Failover Server hosting the mirrored database if configured
    • Use strong encryption of data - The driver will demand an SSL encrypted connection to the Microsoft SQL Server instance. If the target instance is not configured for or capable of SSL connections, the connection will fail. This setting is not needed for connections to Microsoft SQL Server instances which are configured to demand SSL connections from clients; such demands are handled automatically by the driver. Note that SSL connections are never supported by Microsoft SQL Server 7 or earlier, nor when using TDS Version 7.0 or 4.2.
    • Use MARS - Multiple Active Result Sets enables the concurrent processing of multiple statements/queries and/or result sets on a single connection.
    • Verify Server Certificate - Verify the SSL Certificate presented by the database server against the one specified in the "CA file" field
    • CA file - Specify the location of a Valid SSL Certificate for use during the connection
  6. After selecting your preferences, click OK to continue.
  7. The Connection Tab takes a combination of required and optional parameters required to make a connection to the target database:
    • User name - A valid Microsoft SQL Server username. Windows Authentication may be triggered by using the DOMAIN\username syntax.
    • Choose a database, charset, language to use with the data source
    • Password - A valid Microsoft SQL Server (or Windows Authentication) password
    • Database - The Microsoft SQL Server catalog/schema you want to work with
    • Language - The language for SQL Server error messages
    • Character set - The character set (a/k/a codepage) required by your ODBC client application. For most users, the default is best. The driver will automatically translate between this codepage and whatever the SQL Server is using.
    • Disable character set translation - All character IDs will be passed directly from ODBC client application to SQL Server, with no translation. This is rarely desirable and is provided to address historic issues.
    • Click Continue.
    • The Options tab enables you to set some standard and Microsoft SQL Server specific parameters:
      • 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.
      • Hide Login Dialog - Suppresses the ODBC "Username" and "Password" login dialog boxes when interacting with your ODBC DSN from within an ODBC compliant application.
      • Read Only connection - Specifies whether the connection is "Read-only." Make sure the checkbox is unchecked to request a "Read/Write" connection.
      • TDS packet size - A value that determines the number of bytes per network packet transferred from the database server to the client. The correct setting of this attribute can improve performance. When set to 0, the initial default, the driver uses the default packet size as specified in the Sybase server configuration. When set to -1, the driver computes the maximum allowable packet size on the first connect to the data source and saves the value in the system information. When set to x, an integer from 1 to 10, which indicates a multiple of 512 bytes (for example, Packet Size of 6 means to set the packet size to 6 * 512 equal 3072 bytes). For you to take advantage of this connection attribute, you must configure the System 10 server for a maximum network packet size greater than or equal to the value you specified for Packet Size.
      • Prepare Method - This option is specific to the TDS Driver for Sybase and Microsoft SQL Server. It can take the values None, Partial, or Full (connectoptions -O [0, 1, 2] respectively). It is used to determine whether stored procedures are created on the server for calls to SQLPrepare().
      • No Quoted Identifiers - This option indicates that the underlying driver does not support quoted identifiers, which is required for Jet engine based products like MS Access.
      • Use ANSI nulls, padding and warnings - This option affects TDS agent & Lite Driver connections to Microsoft SQL Server databases. Sybase connectivity is not affected.
      • Map Serializable to Snapshot isolation level - Enable Snapshot transaction isolation level in the driver. Snapshot Isolation is a new transaction isolation level first available in Microsoft SQL Server 2005.
      • SQL_DBMS Name - Manuallyoverrides the SQLGetInfo(SQL_DBMS_NAME) response returned by the driver. This is required for products like Microsoft InfoPath for which the return value should be "SQL Server".
      • Click Continue to view additional preferences that can be set for the connection.
      • The Initialization SQL field lets you specify a file containing SQL statements that will be run automatically against the database upon connection.
      • 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.
      • 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.
      • Enable Microsoft Jet Engine options
      • Disable autocommit - Changes the default commit behavior of the OpenLink driver. The default mode is AutoCommit (box unchecked).
      • Disable rowset size limit - Removes OpenLink's default 100 rowset restriction.
      • 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 the query do not include LONG data fields.
      • Multiple Active Statements Emulation
      • Always include VIEWS in table list - This switch is needed for Microsoft Excel and Query, Stata, and some other tools that explicitly request only TABLEs from the back-end DBMS. Tick this box if you also need to see VIEWS in the graphical query builder. This option is redundant when Always include all types is ticked.
      • Always include all types in table list - This switch is needed for Microsoft Excel and Query, Stata, and some other tools that explicitly request only TABLEs from the back-end DBMS. Tick this box if you also need to see SYSTEM TABLEs, VIEWS, SYSTEM VIEWS, SYNONYMs, GLOBAL TEMPORARYs, ALIASes, and/or LOCAL TEMPORARYs in the graphical query builder. Note: the TABLE list will be much longer thanwhen this box is not ticked, and SYSTEM objects will be sorted to the top of the list due to typical naming conventions.
      • When finished, click the Finish button to save your new Data Source Name.

Client Components

Installation

  1. Download the OpenLink Generic JDBC Driver for macOS, which comes in a .dmg file.
  2. Double-click the .dmg file to start the installation process.
  3. Confirm the warning message to proceed with the installation.
  4. Read and accept the License Agreement for the OpenLink Generic JDBC Driver.
  5. Choose the destination volume for the installation (typically your macOS boot volume).
  6. Select the installation type:
    • Easy Install (recommended).
    • Custom Install (for experienced users who want to choose specific components).
      • If you have installed OpenLink or iODBC components in the past, select "Upgrade" to continue. Otherwise, click "Install."
  7. If you chose the custom installation option, select the desired components to install.
    • Click Next.
    • Enter your macOS Username and Password when prompted to complete the installation.
  8. After installation, your database driver is ready for use.
  9. For configuring the OpenLink Generic JDBC Driver, use the following parameters in the Connection URL:
    • Driver Name: opljdbc3.jar, megathin3.jar
    • Driver Class Name: openlink.jdbc3.Driver
    • Connection URL: jdbc:openlink://<Hostname>:[portnumber] [/UID] [/PWD] [/READONLY] [/SVT] [/APPLICATION] [/FBS|FETCHBUFFERSIZE] [/ENCRYPTED] [/CHARSET] [/UNICODE] [/DLF] [/DATABASE] [/OPTIONS] [/DRIVER]
      • Description of Parameters:
      • Hostname: Network Alias or IP address of the machine running the OpenLink Request Broker instance.
      • Port Number: TCP port on which the Request Broker listens.
      • /UID: Database username.
      • /PWD: Database password.
      • /READONLY: Read-write or read-only session mode.
      • /SVT: A valid domain alias from the [Domain Aliases] section of the OpenLink server component's oplrqb.ini file. Default domain aliases represent the type of database agent to which the application intends to connect.
      • /APPLICATION: The Application name to enable connectivity when restrictive server-side rules screen by application name.
      • /FBS (or /FETCHBUFFERSIZE): The Fetch Buffer Size representing the number of rows to return during one fetch operation.
      • /ENCRYPTED: Sets the Encrypted flag for outgoing packets. ('1', '0', 'Y', 'N', 'y', or 'n'. Disabled by default.)
      • /CHARSET: Specifies the charset of remote databases. Default value is read from System.getProperty("file.encoding").
      • /UNICODE: Instantiates unicode. The unicode connection isn't used by default. ('1', '0', 'Y', 'N', 'y', or 'n'. Disabled by default.)
      • /DLF: Pushes large, binary objects to the end of the resultset. Smaller data types are retrieved first, enhancing performance. ('1', '0', 'Y', 'N', 'y', or 'n'. Disabled by default.)
      • /DATABASE: Actual database name within a particular database environment.
      • /OPTIONS: Optional parameter to pass specialized database native client connection parameters.
      • /DRIVER: The Driver name contained in curly brackets ({}). Used for DSN-Less connections to remote ODBC Drivers.
  10. Examples of Connection URLs:
    • jdbc:openlink://localhost:5000/SVT=Ingres II/DATABASE=iidbdb/UID=ingres/PWD=ingres
    • jdbc:openlink://192.128.13.119:5000/SVT=Oracle 8.1.x/DATABASE=ORCL/UID=scott/PWD=tiger
    • jdbc:openlink://saturn:5000/SVT=Progress 91D/DATABASE=isports/OPTIONS=-S isports -N tcp -H saturn
    • jdbc:openlink://localhost:5000/SVT=SQLServer 2000/DATABASE=Northwind/UID=sa/OPTIONS=-S SATURN

Configuration

  1. The OpenLink installer should set your CLASSPATH. You should have a pre-existing JAVA_HOME directory that points to the root of your JAVA installation. No further configuration should be needed.
  2. Driver Name: opljdbc3.jar, megathin3.jar
  3. Driver Class Name: openlink.jdbc3.Driver
  4. Connection URL: jdbc:openlink://<Hostname>:[portnumber] [/UID] [/PWD] [/READONLY] [/SVT] [/APPLICATION] [/FBS|FETCHBUFFERSIZE] [/ENCRYPTED] [/CHARSET] [/UNICODE] [/DLF] [/DATABASE] [/OPTIONS] [/DRIVER]
    • Hostname - Network Alias or IP address of the machine that runs an OpenLink Request Broker instance.
    • Port Number - TCP port on which the Request Broker listens.
    • /UID - Database username.
    • /PWD - Database password.
    • /READONLY - Read-write or read-only session mode.
    • /SVT - A valid domain alias from the [Domain Aliases] section of the OpenLink server component's oplrqb.ini file. Default domain aliases represent the type of database agent to which the application intends to connect, e.g., DB2, Informix 2000, Oracle 8.1.x. Custom aliases may take any form.
    • /APPLICATION - The Application name. Enables connectivity when restrictive server-side rules screen by application name.
    • /FBS (or /FETCHBUFFERSIZE) - The Fetch Buffer Size. The Fetch Buffer Size is an integer that represents the number of rows to return during one fetch operation.
    • /ENCRYPTED - Sets the Encrypted flag for outgoing packets. /ENCRYPTED may pass '1', '0', 'Y', 'N', 'y', or 'n'. (This feature is disabled by default.)
    • /CHARSET - Specifies the charset of remote databases. The default value is read from System.getProperty("file.encoding").
    • /UNICODE - Instantiates unicode. The unicode connection isn't used by default. The value may be '1', '0', 'Y', 'N', 'y', 'n' (This feature is disabled by default.)
    • /DLF - Pushes large, binary objects to the end of the result set. Smaller data types are retrieved first. This enhances performance. /DLF may be set to '1', '0', 'Y', 'N', 'y', or 'n'. (This feature is disabled by default.)
    • /DATABASE - Actual database name within a particular database environment.
    • /OPTIONS - Optional parameter that passes specialized database native client connection parameters. Do not use this parameter unless you need to pass Progress socket parameters or database native client parameters that enable a local OpenLink database agent to locate a remote database. Example parameters would be Oracle Net10 Service Names, Ingres vnodes, remote Informix instance names, or DB2 remote database aliases.
    • /DRIVER - The Driver name contained in curly brackets ({}). Used for DSN-Less connections to remote ODBC Drivers.
  5. Examples of Connection URLs:
    • jdbc:openlink://localhost:5000/SVT=Ingres II/DATABASE=iidbdb/UID=ingres/PWD=ingres
    • jdbc:openlink://192.128.13.119:5000/SVT=Oracle 8.1.x/DATABASE=ORCL/UID=scott/PWD=tiger
    • jdbc:openlink://saturn:5000/SVT=Progress 91D/DATABASE=isports/OPTIONS=-S isports -N tcp -H saturn
    • jdbc:openlink://localhost:5000/SVT=SQLServer 2000/DATABASE=Northwind/UID=sa/OPTIONS=-S SATURN