11 The SQL Server Wire Protocol Driver : Configuring and Connecting to Data Sources

Configuring and Connecting to Data Sources
After you install the driver, you configure data sources to connect to the database. See Chapter 1 “Quick Start Connect” for an explanation of different types of data sources. The data source contains connection options that allow you to tune the driver for specific performance. If you want to use a data source but need to change some of its values, you can either modify the data source or override its values at connection time through a connection string.
If you choose to use a connection string, you must use specific connection string attributes. See “Using a Connection String” and Table 11-1 for an alphabetical list of driver connection string attributes and their initial default values.
Data Source Configuration in the UNIX/Linux odbc.ini File
On UNIX and Linux, you must set up the proper ODBC environment before configuring data sources. See “Environment Configuration” for basic setup information and “Environment Variables” for more detail about this procedure.
Data sources for UNIX and Linux are stored in the system information file (by default, odbc.ini). If you have a Motif GUI environment on Linux, you can configure and modify data sources through the DataDirect ODBC Data Source Administrator for Linux (the Linux ODBC Administrator) using a driver Setup dialog box. (See “Configuration Through the Administrator” for a detailed explanation of the Administrator.)
If you do not have a GUI environment, you can configure and modify data sources directly by editing the odbc.ini file and storing default connection values there. See “Configuration Through the System Information (odbc.ini) File” for detailed information about the specific steps necessary to configure a data source.
Table 11-1 lists driver connection string attributes that must be used in the odbc.ini file to set the value of the attributes. Note that only the long name of the attribute can be used in the file. The default listed in the table is the initial default value when the driver is installed.
Data Source Configuration through a GUI
On Windows, data sources are stored in the Windows Registry. You can configure and modify data sources through the ODBC Administrator using a driver Setup dialog box, as described in this section.
On UNIX and Linux, data sources are stored in the odbc.ini file. On Linux, you can configure and modify data sources through the Linux ODBC Administrator using a driver Setup dialog box, as described in this section.
NOTE: This book shows dialog box images that are specific to Windows. If you are using the drivers in the Linux environment, the dialog box that you see may differ slightly from the Windows version. Windows-only and UNIX-only connection options are specifically noted by icons in the Setup dialog box descriptions.
When the driver is first installed, the values of its connection options are set by default. These values appear on the driver Setup dialog box tabs when you create a new data source. You can change these default values by modifying the data source. In the following procedure, the description of each tab is followed by a table that lists the connection options for that tab and their initial default values. This table links you to a complete description of the options and their connection string attribute equivalents. The connection string attributes are used to override the default values of the data source if you want to change these values at connection time.
Data Source Configuration through a GUI
To configure a Microsoft SQL Server data source:
1
On Linux, change to the install_dir/tools directory and, at a command prompt, enter:
odbcadmin
where install_dir is the path to the product installation directory.
2
User DSN: If you are configuring an existing user data source, select the data source name and click Configure to display the driver Setup dialog box.
If you are configuring a new user data source, click Add to display a list of installed drivers. Select the driver and click Finish to display the driver Setup dialog box.
System DSN: If you are configuring an existing system data source, select the data source name and click Configure to display the driver Setup dialog box.
If you are configuring a new system data source, click Add to display a list of installed drivers. Select the driver and click Finish to display the driver Setup dialog box.
File DSN: If you are configuring an existing file data source, select the data source file and click Configure to display the driver Setup dialog box.
If you are configuring a new file data source, click Add to display a list of installed drivers; then, select a driver. Click Advanced if you want to specify attributes; otherwise, click Next to proceed. Specify a name for the data source and click Next. Verify the data source information; then, click Finish to display the driver Setup dialog box.
The General tab of the Setup dialog box appears by default.
The General tab of the ODBC SQL Server Native Wire Protocol Driver Setup dialog box
NOTE: The General tab displays only fields that are required for creating a data source. The fields on all other tabs are optional, unless noted otherwise.
3
On this tab, provide values for the options in the following table; then, click Apply. The table provides links to descriptions of the connection options.
4
Optionally, click the Advanced tab to specify additional data source settings.
The Advanced tab of the ODBC SQL Server Native Wire Protocol Driver Setup dialog box
On this tab, provide values for any of the options in the following table; then, click Apply. The table provides links to descriptions of the connection options.
Translate: Click Translate to display the Select Translator dialog box, which lists the translators specified in the ODBC Translators section of the Registry. Progress DataDirect provides a translator named OEM to ANSI that translates your data from the IBM PC character set to the ANSI character set.
Select a translator; then, click OK to close this dialog box.
5
Optionally, click the Security tab to specify additional data source settings.
The Security tab of the ODBC SQL Server Wire Protocol Driver Setup dialog box
See “Using Security” for a general description of authentication and encryption and their configuration requirements.
On this tab, provide values for any of the options in the following table; then, click Apply. The table provides links to descriptions of the connection options.
6
Optionally, click the Failover tab to specify additional data source settings.
The Failover tab of the ODBC SQL Server Wire Protocol Driver Setup dialog box
See “Using Failover” for a general description of failover and its related connection options.
On this tab, provide values for any of the options in the following table; then, click Apply. The table provides links to descriptions of the connection options.
7
Optionally, click the Pooling tab to specify additional data source settings.
The Pooling tab of the ODBC SQL Server Wire Protocol Driver Setup dialog box
See “Using DataDirect Connection Pooling” for a general description of connection pooling.
On this tab, provide values for any of the options in the following table; then, click Apply. The table provides links to descriptions of the connection options.
8
Optionally, click the Bulk tab to specify additional data source settings.
The Bulk tab of the ODBC SQL Server Wire Protocol Driver Setup dialog box
See “Using DataDirect Bulk Load” for a general description of DataDirect Bulk Load.
On this tab, provide values for any of the options in the following table; then, click Apply. The table provides links to descriptions of the connection options.
Bulk Options Individual item descriptions are grouped under the Bulk Option description.
If your application is already coded to use parameter array batch functionality, you can leverage DataDirect Bulk Load features through the Enable Bulk Load connection option. Enabling this option automatically converts the parameter array batch operation to use the database bulk load protocol.
If you are not using parameter array batch functionality, you can export data to a bulk load data file, verify the metadata of the bulk load configuration file against the structure of the target table, and bulk load data to a table. Use the following steps to accomplish these tasks.
a
To export data from a table to a bulk load data file, click Export Table from the Bulk tab. The Export Table dialog box appears.
The Export Table dialog of the ODBC SQL Server Wire Protocol Driver Setup dialog box
Both a bulk data file and a bulk configuration file are produced by exporting a table. The configuration file has the same name as the data file, but with an XML extension. See “Using DataDirect Bulk Load” for details about these files.
The bulk export operation can create a log file and can also export to external files. See “External Overflow Files” for more information. The export operation can be configured such that if any errors or warnings occur:
Table Name: A string that specifies the name of the source database table containing the data to be exported.
Export Filename: A string that specifies the path (relative or absolute) and file of the bulk load data file to which the data is to be exported. It also specifies the file name of the bulk configuration file. These files must not already exist; if one of both of them already exists, an error is returned.
Log Filename: A string that specifies the path (relative or absolute) and file name of the bulk log file. The log file is created if it does not exist. Events logged to this file are:
Information about the load is written to this file, preceded by a header. Information about the next load is appended to the end of the file.
If you do not supply a value for Log Filename, no log file is created.
Error Tolerance: A value that specifies the number of errors to tolerate before an operation terminates. A value of 0 indicates that no errors are tolerated; the operation fails when the first error is encountered.
The default of -1 means that an infinite number of errors is tolerated.
Warning Tolerance: A value that specifies the number of warnings to tolerate before an operation terminates. A value of 0 indicates that no warnings are tolerated; the operation fails when the first warning is encountered.
The default of -1 means that an infinite number of warnings is tolerated.
Code Page: A value that specifies the code page value to which the driver must convert all data for storage in the bulk data file. See “Character Set Conversions” for more information.
The default value on Windows is the current code page of the machine. On UNIX/Linux, the default value is 4 (ISO 8559-1 Latin-1).
Click Export Table to connect to the database and export data to the bulk data file or click Cancel.
To verify the metadata of the bulk load configuration file against the structure of the target database table, click Verify from the Bulk tab. See “Verification of the Bulk Load Configuration File” for details. The Verify dialog box appears.
The Verify Data dialog of the ODBC SQL Server Wire Protocol Driver Setup dialog box
Table Name: A string that specifies the name of the target database table into which the data is to be loaded.
Configuration Filename: A string that specifies the path (relative or absolute) and file name of the bulk configuration file.
Click Verify to verify table structure or click Cancel.
b
To load data from the bulk data file to a database table, click Load Table from the Bulk tab. The Load File dialog box appears.
The Load File dialog of the ODBC SQL Server Wire Protocol Driver Setup dialog box
The load operation can create a log file and can also create a discard file that contains rows rejected during the load. The discard file is in the same format as the bulk load data file. After fixing reported issues in the discard file, the bulk load can be reissued using the discard file as the bulk load data file.
The export operation can be configured such that if any errors or warnings occur:
If a load fails, the Load Start and Load Count options can be used to control which rows are loaded when a load is restarted after a failure.
Table Name: A string that specifies the name of the target database table into which the data is loaded.
Load Data Filename: A string that specifies the path (relative or absolute) and file name of the bulk data file from which the data is loaded.
Configuration Filename: A string that specifies the path (relative or absolute) and file name of the bulk configuration file.
Log Filename: A string that specifies the path (relative or absolute) and file name of the bulk log file. Specifying a value for Log Filename creates the file if it does not already exist. Events logged to this file are:
Total number of rows read
Message for each row that failed to load
Total number of rows successfully loaded
Information about the load is written to this file, preceded by a header. Information about the next load is appended to the end of the file.
If you do not specify a value for Log Filename, no log file is created.
Discard Filename: A string that specifies the path (relative or absolute) and file name of the bulk discard file. Any row that cannot be inserted into database as result of bulk load is added to this file, with the last row rejected added to the end of the file.
Information about the load is written to this file, preceded by a header. Information about the next load is appended to the end of the file.
If you do not specify a value for Discard Filename, a discard file is not created.
Error Tolerance: A value that specifies the number of errors to tolerate before an operation terminates. A value of 0 indicates that no errors are tolerated; the operation fails when the first error is encountered.
The default of -1 means that an infinite number of errors is tolerated.
Load Start: A value that specifies the first row to be loaded from the data file. Rows are numbered starting with 1. For example, when Load Start is 10, the first 9 rows of the file are skipped and the first row loaded is row 10. This option can be used to restart a load after a failure.
The default value is 1.
Read Buffer Size (KB): A value that specifies the size, in KB, of the buffer that is used to read the bulk data file for a bulk load operation.
The default value is 2048.
Warning Tolerance: A value that specifies the number of warnings to tolerate before an operation terminates. A value of 0 indicates that no warnings are tolerated; the operation fails when the first warning is encountered.
The default of -1 means that an infinite number of warnings is tolerated.
Load Count: A value that specifies the number of rows to be loaded from the data file. The bulk load operation loads rows up to the value of Load Count from the file to the database. It is valid for Load Count to specify more rows than exist in the data file. The bulk load operation completes successfully when either the number of rows specified by the Load Count value has been loaded or the end of the data file is reached. This option can be used in conjunction with Load Start to restart a load after a failure.
The default value is the maximum value for SQLULEN. If set to 0, no rows are loaded.
Click Load Table to connect to the database and load the table or click Cancel.
At any point during the configuration process, you can click Test Connect to attempt to connect to the data source using the connection options specified in the driver Setup dialog box. A Logon dialog box appears; see “Using a Connection String” for details. Note that the information you enter in the Logon dialog box during a test connect is not saved.
If the driver cannot connect because of an incorrect environment or connection value, it displays an appropriate error message. Click OK.
NOTE: If you are configuring alternate servers for use with the connection failover feature, be aware that the Test Connect button tests only the primary server, not the alternate servers.
9
Click OK or Cancel. If you click OK, the values you have specified become the defaults when you connect to the data source. You can change these defaults by using this procedure to reconfigure your data source. You can override these defaults by connecting to the data source using a connection string with alternate values.
Using a Connection String
If you want to use a connection string for connecting to a database, or if your application requires it, you must specify either a DSN (data source name), a File DSN, or a DSN-less connection in the string. The difference is whether you use the DSN=, FILEDSN=, or the DRIVER= keyword in the connection string, as described in the ODBC specification. A DSN or FILEDSN connection string tells the driver where to find the default connection information. Optionally, you may specify attribute=value pairs in the connection string to override the default values stored in the data source.
The DSN connection string has the form:
DSN=data_source_name[;attribute=value[;attribute=value]...]
The FILEDSN connection string has the form:
FILEDSN=filename.dsn[;attribute=value[;attribute=value]...]
The DSN-less connection string specifies a driver instead of a data source. All connection information must be entered in the connection string because the information is not stored in a data source.
The DSN-less connection string has the form:
DRIVER=[{]driver_name[}][;attribute=value[;attribute=value]...]
Table 11-1 lists the long and short names for each attribute, as well as the initial default value when the driver is first installed. You can specify either long or short names in the connection string.
An example of a DSN connection string with overriding attribute values for Microsoft SQL Server is:
DSN=ACCOUNTING;DATABASE=ACCT
A FILEDSN connection string is similar except for the initial keyword:
FILEDSN=SQLServer.dsn;DATABASE=ACCT
A DSN-less connection string must provide all necessary connection information:
DRIVER=DataDirect 7.0 SQL Server Wire Protocol;HOST=SQLServer1;PORT=1433;
UID=JOHN;PWD=XYZZY;DB=SQLSdb1
Using a Logon dialog Box
Some ODBC applications display a Logon dialog box when you are connecting to a data source. In these cases, the data source name has already been specified.
NOTE: The Login Dialog is not displayed if Authentication Mode has previously been set to Kerberos and the Host Name is specified in the data source.
The SQL Server Wire Protocol Login dialog box
In the Logon dialog box, provide the following information:
1
Type an IP address in Host Name in following format: IP_address. For example, you can enter 199.226.224.34.
The IP address can be specified in IPv4 on Windows, and in either IPv4 or IPv6 format, or a combination of the two, on UNIX. See “Using IP Addresses” for details about these formats.
If your network supports named servers, you can specify an address as: server_name. For example, you can enter SSserver.
To specify a named instance of Microsoft SQL Server, use the format: server_name\instance_name. If only a server name is specified with no instance name, the driver uses the default instance on the server.
2
3
Type the name of the database to which you want to connect. If you do not specify a value, the default database that is defined by Microsoft SQL Server is used.
4
5
6
If set to 1 - Encrypt Password, the driver sends the user ID in clear text and an encrypted password to the server for authentication.
If set to 4 - Kerberos, the driver uses Kerberos authentication. This method supports both Windows Active Directory Kerberos and MIT Kerberos environments.
7
Click OK to complete the logon and to update the values in the Registry.