Поделиться через


SQLDriverConnect

Драйвер ODBC для собственного клиента SQL определяет атрибуты соединения, которые заменяют или расширяют ключевые слова строки соединения. Некоторые ключевые слова строки соединения имеют значения по умолчанию, заданные в драйвере ODBC для собственного клиента SQL.

Список ключевых слов, доступных в драйвере ODBC для собственного клиента SQL, см. в разделе Using Connection String Keywords with SQL Native Client.

Дополнительные сведения об атрибутах соединения и поведении драйвера по умолчанию SQL Server см. в разделе SQLSetConnectAttr.

Если параметр SQLDriverConnectDriverCompletion принимает значение SQL_DRIVER_PROMPT, SQL_DRIVER_COMPLETE или SQL_DRIVER_COMPLETE_REQUIRED, драйвер ODBC для собственного клиента SQL получает значения ключевых слов из отображенного диалогового окна. Если значение ключевого слова передается в строке соединения и пользователь не изменил значение в диалоговом окне, драйвер ODBC для собственного клиента SQL использует значение из строки соединения. Если значение не определено в строке соединения, а пользователь не присваивает его в диалоговом окне, драйвер использует значение по умолчанию.

Драйверу SQLDriverConnect должен быть задан допустимый дескриптор WindowHandle, если какое-либо значение DriverCompletion требует (или может потребовать) отображения диалогового окна соединения драйвера. Недопустимый дескриптор возвращает ошибку SQL_ERROR.

Укажите ключевое слово DRIVER или DSN. Драйвер ODBC использует крайнее левое из этих ключевых слов и пропускает другое, если указаны оба. Если задано ключевое слово DRIVER, или если оно крайнее левое, а параметр SQLDriverConnectDriverCompletion имеет значение SQL_DRIVER_NOPROMPT, требуется ключевое слово SERVER и соответствующее значение.

Если задано значение SQL_DRIVER_NOPROMPT, необходимо указать ключевые слова проверки подлинности пользователя вместе с их значениями. Драйвер обеспечивает наличие строки «Trusted_Connection=yes» или обоих ключевых слов UID и PWD.

Если значение параметра DriverCompletion равно SQL_DRIVER_NOPROMPT или SQL_DRIVER_COMPLETE_REQUIRED, а язык или база данных определяется в строке соединения, при этом и то, и другое недопустимы, SQLDriverConnect возвращает ошибку SQL_ERROR.

Если значение параметра DriverCompletion равно SQL_DRIVER_NOPROMPT или SQL_DRIVER_COMPLETE_REQUIRED, а язык или база данных определяется в источнике данных ODBC, при этом и то, и другое недопустимы, SQLDriverConnect использует для заданного идентификатора пользователя язык или базу данных по умолчанию и возвращает значение SQL_SUCCESS_WITH_INFO.

Если параметр DriverCompletion имеет значение SQL_DRIVER_COMPLETE или SQL_DRIVER_PROMPT, а язык или база данных недопустимы, SQLDriverConnect вновь отображает диалоговое окно.

Примеры

В следующем вызове показан минимальный объем необходимых данных для SQLDriverConnect:

SQLDriverConnect(hdbc, hwnd,
    (SQLTCHAR*) "DRIVER={SQL Native Client};" SQL_NTS, szOutConn,
    MAX_CONN_OUT, &cbOutConn, SQL_DRIVER_COMPLETE);

В следующей строке соединения показан минимальный объем необходимых данных, если значение параметра DriverCompletion равно SQL_DRIVER_NOPROMPT:

"DSN=Human Resources;UID=MyUserName;PWD=MyPassword"

"DSN=Human Resources;Trusted_Connection=yes"

"FILEDSN=HR_FDSN;UID=MyUserName;PWD=MyPassword"

"FILEDSN=HR_FDSN;Trusted_Connection=yes"

"DRIVER={SQL Native Client};SERVER=(local);UID=MyUserName;PWD=MyPassword"

"DRIVER={SQL Native Client};SERVER=(local);Trusted_Connection=yes"

См. также

Основные понятия

ODBC API Implementation Details

Другие ресурсы

SET ANSI_NULLS (Transact-SQL)
SET ANSI_PADDING (Transact-SQL)
SET ANSI_WARNINGS (Transact-SQL)
Функция SQLDriverConnect

Справка и поддержка

Получение помощи по SQL Server 2005