How To Install and Configure the Lite Edition ODBC Drivers for Microsoft SQL Server (macOS)

Pre-Installation Guide

  1. Ensure you have the following client connectivity information for your target Microsoft SQL Server Database:
    • SQL Server instance name: Specify the name of your SQL Server instance.
    • SQL Server hostname or IP address: Provide the hostname or IP address of the server where your SQL Server is located.
    • SQL Server listening port: Specify the listening port used by your SQL Server.
    • Target Database name: Specify the name of the target database you want to connect to (e.g., "Northwind").

Installation Guide

  1. Download and open the Lite Edition (Single-Tier) ODBC Driver for Microsoft SQL Server Data Sources. It is distributed in a single disk image (.dmg) file, which contains a Macintosh Installer package (.mpkg).
    • Double-click the .mpkg file to start the installation process.
    • After the driver has been installed, you will be prompted to locate a license file.
      NOTE: If a correctly named file already exists in $OPL_LICENSE_DIR, /Library/Application Support/OpenLink/Licenses/, you will not see this dialog. If the existing file is not valid (evaluation has expired, it's for a different OS, it permits insufficient processor cores, etc.), you will need to manually apply a valid license file after installation is completed.
      NOTE: In some environments, this dialog may be hidden by the Installer.app or other windows on your Mac. Please minimize, hide, and/or move windows until you can see and act on this dialog. If you do not answer this dialog, the installation will not complete properly, and the driver will not function as desired.
    • If a license file already exists on the machine, select the 'use existing' option. (Previously generated license files may be re-downloaded from your ODS-Briefcase data space.)
    • If you need to obtain a new trial or permanent license file, select the 'try or buy' option, which will load a relevant web page from which you can obtain a license file.

Configuration Guide

  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.