Выделение дескрипторов и соединение с SQL Server (ODBC)
Применимо к: SQL Server Azure SQL DatabaseУправляемый экземпляр SQL AzureAzure Synapse Analytics AnalyticsPlatform System (PDW)
Выделение дескрипторов и соединение с SQL Server
Включите файлы заголовка ODBC Sql.h, Sqlext.h, Sqltypes.h.
Включите файл заголовка SQL Server драйвера Odbcss.h.
Вызовите SQLAllocHandle с типом handleType SQL_HANDLE_ENV, чтобы инициализировать ODBC и выделить дескриптор среды.
Вызовите SQLSetEnvAttrс атрибутом SQL_ATTR_ODBC_VERSION и значением ValuePtr SQL_OV_ODBC3, чтобы указать, что приложение будет использовать вызовы функций в формате ODBC 3.x.
При необходимости вызовите SQLSetEnvAttr , чтобы задать другие параметры среды, или вызовите SQLGetEnvAttr , чтобы получить параметры среды.
Вызовите SQLAllocHandle с типом handleType SQL_HANDLE_DBC, чтобы выделить дескриптор подключения.
При необходимости вызовите SQLSetConnectAttr , чтобы задать параметры подключения, или вызовите SQLGetConnectAttr , чтобы получить параметры подключения.
Вызовите SQLConnect, чтобы использовать существующий источник данных для подключения к SQL Server.
либо
Вызовите SQLDriverConnect, чтобы использовать строку подключения для подключения к SQL Server.
Минимальная полная строка подключения SQL Server имеет одну из двух форм:
DSN=dsn_name;Trusted_connection=yes; DRIVER={SQL Server Native Client 10.0};SERVER=server;Trusted_connection=yes;
Если строка подключения не завершена, SQLDriverConnect может запрашивать необходимые сведения. Это определяется значением, указанным для параметра DriverCompletion .
— или —
Вызовите SQLBrowseConnect несколько раз в итеративном режиме, чтобы создать строку подключения и подключиться к SQL Server.
При необходимости вызовите SQLGetInfo, чтобы получить атрибуты и поведение драйвера для источника данных SQL Server.
Выделите и используйте инструкции.
Вызовите SQLDisconnect, чтобы отключиться от SQL Server и сделать дескриптор подключения доступным для нового подключения.
Вызовите SQLFreeHandle с типом handleType SQL_HANDLE_DBC, чтобы освободить дескриптор подключения.
Вызовите SQLFreeHandle с типом handleType SQL_HANDLE_ENV, чтобы освободить дескриптор среды.
Важно!
По возможности используйте аутентификацию Windows. Если проверка подлинности Windows недоступна, запросите у пользователя ввод учетных данных во время выполнения. Избегайте хранения учетных данных в файле. Если необходимо сохранить учетные данные, зашифруйте их с помощью API-интерфейса шифрования Win32.
Пример
В этом примере показан вызов SQLDriverConnect для подключения к экземпляру SQL Server без использования существующего источника данных ODBC. Передача неполной строки подключения в SQLDriverConnect приводит к тому, что драйвер ODBC запрашивает у пользователя ввод отсутствующих сведений.
#define MAXBUFLEN 255
SQLHENV henv = SQL_NULL_HENV;
SQLHDBC hdbc1 = SQL_NULL_HDBC;
SQLHSTMT hstmt1 = SQL_NULL_HSTMT;
SQLCHAR ConnStrIn[MAXBUFLEN] =
"DRIVER={SQL Server Native Client 10.0};SERVER=MyServer";
SQLCHAR ConnStrOut[MAXBUFLEN];
SQLSMALLINT cbConnStrOut = 0;
// Make connection without data source. Ask that driver
// prompt if insufficient information. Driver returns
// SQL_ERROR and application prompts user
// for missing information. Window handle not needed for
// SQL_DRIVER_NOPROMPT.
retcode = SQLDriverConnect(hdbc1, // Connection handle
NULL, // Window handle
ConnStrIn, // Input connect string
SQL_NTS, // Null-terminated string
ConnStrOut, // Address of output buffer
MAXBUFLEN, // Size of output buffer
&cbConnStrOut, // Address of output length
SQL_DRIVER_PROMPT);
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по