Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Прежде чем приложение сможет подключиться к источнику данных или драйверу, он должен выделить дескриптор подключения следующим образом:
Приложение объявляет переменную типа SQLHDBC. Затем он вызывает SQLAllocHandle и передает адрес этой переменной, дескриптор среды, в которой выделяется соединение, и параметр SQL_HANDLE_DBC. Рассмотрим пример.
SQLHDBC hdbc1; SQLAllocHandle(SQL_HANDLE_DBC, henv1, &hdbc1);Диспетчер драйверов выделяет структуру, в которой хранятся сведения об инструкции, и возвращает дескриптор подключения в переменную.
Диспетчер драйверов не вызывает SQLAllocHandle в драйвере в настоящее время, так как он не знает, какой драйвер следует вызывать. Он задерживает вызов SQLAllocHandle в драйвере, пока приложение не вызовет функцию для подключения к источнику данных. Дополнительные сведения см. в разделе "Роль диспетчера драйверов" в процессе подключения далее в этом разделе.
Важно отметить, что выделение дескриптора подключения это не то же самое, что и загрузка драйвера. Драйвер не загружается до вызова функции подключения. Таким образом, после выделения дескриптора подключения и перед подключением к драйверу или источнику данных единственными функциями, которые приложение может вызывать с помощью дескриптора подключения, являются SQLSetConnectAttr, SQLGetConnectAttr или SQLGetInfo с параметром SQL_ODBC_VER. Вызов других функций с дескриптором подключения, например SQLEndTran, возвращает SQLSTATE 08003 (подключение не открыто). Полные сведения см. в приложении B: таблицы перехода состояния ODBC.
Дополнительные сведения об дескрипторах подключения см. в разделе "Дескрипторы подключений".