Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Соответствия
Представлена версия: ODBC 1.0
Сводка
SQLConfigDataSource добавляет, изменяет или удаляет источники данных.
К функциям SQLConfigDataSource также можно получить доступ с помощью ODBCCONF.EXE.
Синтаксис
BOOL SQLConfigDataSource(
HWND hwndParent,
WORD fRequest,
LPCSTR lpszDriver,
LPCSTR lpszAttributes);
Аргументы
hwndParent
[Входные данные] Родительский дескриптор окна. Функция не будет отображать диалоговые окна, если дескриптор имеет значение NULL.
fRequest
[Входные данные] Тип запроса. Аргумент fRequest должен содержать одно из следующих значений:
ODBC_ADD_DSN. Добавление нового источника данных пользователя.
ODBC_CONFIG_DSN. Настройка (изменение) существующего источника данных пользователя.
ODBC_REMOVE_DSN. Удаление существующего источника данных пользователя.
ODBC_ADD_SYS_DSN. Добавление нового системного источника данных.
ODBC_CONFIG_SYS_DSN. Изменение существующего системного источника данных.
ODBC_REMOVE_SYS_DSN. Удаление существующего системного источника данных.
ODBC_REMOVE_DEFAULT_DSN. Удалите раздел спецификации источника данных по умолчанию из системных сведений. (Он также удаляет раздел спецификации драйвера по умолчанию из записи Odbcinst.ini в системной информации. Эта функция fRequest выполняет ту же функцию, что и устаревшая функция SQLRemoveDefaultDataSource .) Если этот параметр указан, все остальные параметры в вызове SQLConfigDataSource должны быть NULLs; если они не имеют значения NULL, они будут игнорироваться.
lpszDriver
[Входные данные] Описание драйвера (обычно имя связанной СУБД), представленное пользователям вместо имени физического драйвера.
lpszAttributes
[Входные данные] Двукратный список атрибутов, завершаемых значением NULL, в виде пар "ключевое слово-значение". Дополнительные сведения см. в разделе ConfigDSN.
Возвраты
Функция возвращает значение TRUE, если оно выполнено успешно, значение FALSE, если оно завершается ошибкой. Если запись не существует в системной информации при вызове этой функции, функция возвращает значение FALSE.
Диагностика
Когда SQLConfigDataSource возвращает ЗНАЧЕНИЕ FALSE, связанное значение *pfErrorCode можно получить путем вызова SQLInstallerError. В следующей таблице перечислены значения *pfErrorCode , которые можно возвращать SQLInstallerError и объясняет каждый из них в контексте этой функции.
| *pfErrorCode | Error | Description |
|---|---|---|
| ODBC_ERROR_GENERAL_ERR | Общая ошибка установщика | Произошла ошибка, для которой не было определенной ошибки установщика. |
| ODBC_ERROR_INVALID_HWND | Недопустимый дескриптор окна | Недопустимый аргумент hwndParent или NULL. |
| ODBC_ERROR_INVALID_REQUEST_TYPE | Недопустимый тип запроса | Аргумент fRequest не был одним из следующих: ODBC_ADD_DSN ODBC_CONFIG_DSN ODBC_REMOVE_DSN ODBC_ADD_SYS_DSN ODBC_CONFIG_SYS_DSN ODBC_REMOVE_SYS_DSN ODBC_REMOVE_DEFAULT_DSN |
| ODBC_ERROR_INVALID_NAME | Недопустимое имя драйвера или переводчика | Недопустимый аргумент lpszDriver . Его не удалось найти в реестре. |
| ODBC_ERROR_INVALID_KEYWORD_VALUE | Недопустимые пары "ключевое слово-значение" | Аргумент lpszAttributes содержит синтаксическую ошибку. |
| ODBC_ERROR_REQUEST_FAILED | Сбой запроса | Установщик не смог выполнить операцию, запрошенную аргументом fRequest . Сбой вызова ConfigDSN . |
| ODBC_ERROR_LOAD_LIBRARY_FAILED | Не удалось загрузить библиотеку установки драйвера или переводчика | Не удалось загрузить библиотеку установки драйвера. |
| ODBC_ERROR_OUT_OF_MEM | Недостаточно памяти | Установщик не мог выполнить функцию из-за нехватки памяти. |
Комментарии
SQLConfigDataSource использует значение lpszDriver для чтения полного пути библиотеки DLL установки для драйвера из системных сведений. Он загружает библиотеку DLL и вызывает ConfigDSN с теми же аргументами, которые были переданы в него.
SQLConfigDataSource возвращает значение FALSE, если не удается найти или загрузить библиотеку DLL установки или если пользователь отменяет диалоговое окно. В противном случае возвращается состояние, полученное из ConfigDSN.
SQLConfigDataSource сопоставляет system DSN fRequest с пользовательскими fRequest-s (ODBC_ADD_SYS_DSN с ODBC_ADD_DSN, ODBC_CONFIG_SYS_DSN ODBC_CONFIG_DSN и ODBC_REMOVE_SYS_DSN с ODBC_REMOVE_DSN). Чтобы различать доменные имена пользователей и системных доменов, SQLConfigDataSource задает режим конфигурации установщика в соответствии со следующей таблицей. Перед возвратом SQLConfigDataSource сбрасывает режим конфигурации в BOTHDSN. ConfigDSN (реализованная драйверами) должен вызывать SQLWriteDSNToIni и SQLWritePrivateProfileString для поддержки системного DSN. Дополнительные сведения см. в разделе "Функция ConfigDSN".
| fRequest | Режим конфигурации |
|---|---|
| ODBC_ADD_DSN | USERDSN_ONLY |
| ODBC_CONFIG_DSN | USERDSN_ONLY |
| ODBC_REMOVE_DSN | USERDSN_ONLY |
| ODBC_ADD_SYS_DSN | SYSTEMDSN_ONLY |
| ODBC_CONFIG_SYS_DSN | SYSTEMDSN_ONLY |
| ODBC_REMOVE_SYS_DSN | SYSTEMDSN_ONLY |
Связанные функции
| Сведения | Раздел |
|---|---|
| Добавление, изменение или удаление источника данных | ConfigDSN (в библиотеке DLL установки) |
| Удаление имени источника данных из системной информации | SQLRemoveDSNFromIni |
| Добавление имени источника данных в системную информацию | SQLWriteDSNToIni |