How To Install and Configure the Multi-Tier Edition ODBC 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

Pre-Installation

  1. There are no DBMS requirements associated with the Enterprise Edition (Multi-Tier) Generic Client ODBC Drivers.
  2. The Enterprise Edition (Multi-Tier) Generic Client ODBC Drivers are distributed as Universal Binaries, automatically supporting all 32-bit and 64-bit clients, with both PowerPC- and Intel-based binaries.

Installation

  1. Download the OpenLink Generic ODBC Driver for macOS disk image (.dmg) file.
  2. Double-click the disk image file to open it.
  3. Run the installer .mpkg file located inside the disk image.

Configuration

  1. To configure an ODBC DSN, perform the following steps:
    • Run the OpenLink iODBC Administrator located in the /Applications/iODBC folder.
    • Click the Add button on the System DSN tab.
    • Select the OpenLink Generic ODBC 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.
    • Provide a suitable DSN name and optional description for the Data Source.
    • Click the "Manual settings..." link in the Server field and specify the host name and port on which the OpenLink Request Broker listens. Click OK to exit the host and port dialog.
    • Click Continue to proceed.
  2. The Connection tab takes the minimum parameters required to make a connection to the target database:
    • Domain - The value must match a [Domain Alias], which is contained in the Server's Session Rules Book.
    • Name - May take several settings, depending on the Domain (e.g., database name, JDBC driver classname, Oracle SID, etc.).
    • Server - This field passes DBMS-specific connection parameters. Review Complete Settings and Usage for Connect Options
    • Review Complete Settings and Usage for Connect Options.
    • Click Continue to proceed.
  3. On the Connection tab, input the following:
    • Username - A valid database uid.
    • Password - A valid database password.
    • Click Continue.
  4. The Options tab contains settings that are not required for a basic connection:
    • 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.
    • Disable interactive login - Suppresses the ODBC "Username" and "Password" login dialog boxes when interacting with your ODBC DSN from within an ODBC compliant application.
    • Multiple Active Statements Emulation - Enables the 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.
    • 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.
    • Click Continue.
  5. Click on the 'Test Data Source button to make a connection to the database and verify Client-to-Broker connectivity.