ODBC API Function Implementation

The SQL Server driver supports translation DLLs as well as the functions listed in the following table. For an explanation of how each supported function is implemented, see the following sections.

Function Description
SQLBrowseConnect SQLBrowseConnect uses three levels of keywords:

1. DSN, DRIVER

2. SERVER, UID, PWD, APP, WSID

3. DATABASE, LANGUAGE

SQLConnect SQLConnect supports DATABASE and LANGUAGE defaults.
SQLDriverConnect SQLDriverConnect uses the DSN, DRIVER, SERVER, UID, PWD, APP, WSID, DATABASE, and LANGUAGE keywords.
SQLColAttributes, SQLDescribeCol, and SQLNumResultCols If any of these functions are called after a SELECT statement has been prepared and before it has been executed, the SQL Server driver uses SET FMTONLY to cause SQL Server to generate the necessary information about the results set.
SQLConfigDataSource SQLConfigDataSource adds, modifies, or deletes a data source dynamically by using keywords to set connect options.
SQLPrepare SQL Server does not directly support the Prepare/Execute model of ODBC. To prepare an SQL statement, the SQL Server driver creates a temporary procedure, which compiles the statement for later execution. Note that generation of stored procedures for SQLPrepare can be disabled in either the ODBC SQL Server Driver Setup dialog box or by using the SQLSetConnectOption function. If disabled, the SQL statement is stored and then sent to the server each time it is executed.
SQLParamOptions The SQLParamOptions function allows an application to specify an array of multiple values for the parameters assigned by SQLBindParameter. By calling SQLParamOptions with a crow greater than 1, the driver generates an SQL statement batch or a stored procedure batch to execute multiple SQL statements.
SQLDescribeParam The SQLDescribeParam function returns the description of a parameter marker associated with a prepared SQL statement.
SQLRowCount If this function is called after a "cursor open" and the cursor is of type keyset or static, the function returns the number of rows in the results set. For dynamic cursors, SQLRowCount always returns –1. If the keyset is being populated asynchronously, SQLRowCount will return –1 until the keyset is fully populated.
SQLTables The driver does not support search patterns for the szTableQualifier parameter.