Jak Przydzielić dojścia i połączyć się z programu SQL Server (ODBC)
Aby przydzielić dojścia i połącz się z programem SQL Server
Dołącz ODBC pliki nagłówków Sql.h, Sqlext.h, sqltypes.h.
Dołącz SQL Server Plik nagłówka specyficzne dla sterownika Odbcss.h.
Wywołanie Procedura SQLAllocHandle with a HandleType obsługuje SQL_HANDLE_ENV zainicjować ODBC i przydzielanie środowisku.
Wywołanie SQLzestawEnvAttr with Attribute zestaw do SQL_ATTR_ODBC_VERSION i ValuePtr zestaw do SQL_OV_ODBC3, aby wskazać, aplikacja będzie korzystać z wywołania funkcja ODBC 3.x formatu.
Opcjonalnie można wywołać SQLzestawEnvAttr do zestaw innych opcji środowiska lub wywołanie SQLGetEnvAttr uzyskanie opcji środowiska.
Wywołanie Procedura SQLAllocHandle with a HandleType z SQL_HANDLE_DBC przydzielić dojścia połączenia.
Opcjonalnie można wywołać SQLSetConnectAttr , aby ustawić opcje połączenia lub wywołanie SQLGetConnectAttr opcje połączenia.
Wywołanie SQLConnect Aby użyć istniejącego urządzenie źródłowe danych do łączenia się z SQL Server.
Or
Wywołanie SQLDriverConnectAby połączyć za pomocą ciąg połączenia SQL Server.
Zakończenie minimum SQL Server ciąg połączenia zawiera jeden z dwóch formach:
DSN=dsn_name;Trusted_connection=yes; DRIVER={SQL Server Native Client 10.0};SERVER=server;Trusted_connection=yes;
Jeśli nie jest pełny, ciąg połączenia SQLDriverConnect może monitować o potrzebne informacje. To jest kontrolowane przez wartość określona dla DriverCompletion parametr.
- lub -
Wywołanie SQLBrowseConnect wielokrotnie w sposób iteracji, ciąg połączenia skonstruować przy użyciu, a z SQL Server.
Opcjonalnie można wywołać SQLGetInfo pobrać sterownik atrybuty i zachowanieSQL Server urządzenie źródłowe danych.
Przydzielanie i użyć instrukcji.
Wywołanie SQLDisconnect Aby odłączyć się od SQL Server i udostępnić połączenie obsługi dla nowego połączenia.
Wywołanie SQLFreeHandle with a HandleType obsługuje SQL_HANDLE_DBC do wolnego połączenia.
Wywołanie SQLFreeHandle z HandleType obsługuje SQL_HANDLE_ENV zwolnić środowiska.
Security Note: |
---|
Gdy jest to możliwe, należy używać uwierzytelniania systemu Windows.Jeśli uwierzytelnianie systemu Windows nie jest dostępne, monitu użytkowników o wprowadzenie poświadczenia w czasie wykonywania.Należy unikać przechowywania poświadczenia w pliku.Jeśli muszą przetrwać poświadczenia, należy je z zaszyfrować Win32 crypto API. |
Example
W tym przykładzie przedstawiono wywołanie SQLDriverConnect Aby połączyć się z wystąpienie SQL Server bez konieczności istniejącego urządzenie źródłowe danych ODBC. Przekazując ciąg połączenia niekompletne SQLDriverConnect, powoduje, że sterownik ODBC monitował użytkownika o podanie brakujących informacji.
#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);