Jak Przydzielić dojścia i połącz z programem SQL Server (ODBC)
Aby przydzielić dojścia i połączyćSQL Server
Uwzględnić ODBC nagłówek pliki Sql.h, Sqlext.h, Sqltypes.h.
Dołącz SQL Server pliku nagłówka specyficzne dla sterownika Odbcss.h.
Wywołanie SQLAllocHandle z HandleType z operacji SQL_HANDLE_ENV do inicjowania ODBC i przydzielić dojścia środowiska.
Wywołanie SQLzestawEnvAttr z Attribute zestaw do SQL_ATTR_ODBC_VERSION i ValuePtr zestaw do SQL_OV_ODBC3, aby wskazać, aplikacja będzie używać ODBC 3.x format funkcja wywołania.
Opcjonalnie można wywołać SQLzestawEnvAttr do zestaw innych opcji środowiska lub wywołanie SQLGetEnvAttr uzyskać opcji środowiska.
Wywołanie SQLAllocHandle z HandleType z operacji SQL_HANDLE_DBC przydzielić dojścia połączenia.
Opcjonalnie można wywołać Procedura SQLSetConnectAttr zestaw opcji połączenia lub wywołanie SQLGetConnectAttr uzyskać opcje połączenia.
Wywołanie SQLConnect do korzystania z istniejącego źródło danych, aby połączyć się z SQL Server.
Or
Wywołanie SQLDriverConnectdo użycia połączenia ciąg się z SQL Server.
Minimum pełną SQL Server połączenia ciąg ma jednej z dwóch postaci:
DSN=dsn_name;Trusted_connection=yes; DRIVER={SQL Server Native Client 10.0};SERVER=server;Trusted_connection=yes;
Jeśli połączenie ciąg nie została zakończona, SQLDriverConnect może monitować o wymaganych informacji.To jest kontrolowane przez wartość określona dla DriverCompletion parametru.
- lub -
Wywołanie procedura SQLBrowseConnect wiele razy w sposób iteracyjną do utworzenia połączenia ciąg i połącz się z SQL Server.
Opcjonalnie można wywołać SQLGetInfo uzyskać sterownik atrybuty i zachowanie SQL Server źródło danych.
Przydzielanie i użyć instrukcji.
Wywołanie SQLDisconnect Aby rozłączyć się z SQL Server i połączenie obsługi dostępne dla nowego połączenia.
Wywołanie SQLFreeHandle z HandleType z operacji SQL_HANDLE_DBC, aby zwolnić dojścia połączenia.
Wywołanie SQLFreeHandle z HandleType z operacji SQL_HANDLE_ENV, aby zwolnić dojścia środowiska.
![]() |
---|
Gdy jest to możliwe, należy używać uwierzytelniania systemu Windows.Jeśli uwierzytelnianie systemu Windows nie jest dostępne, Monituj użytkownikom wprowadzanie poświadczeń przy uruchomieniu czas.Unikaj przechowywania poświadczenia w pliku.Jeśli poświadczenia muszą zostać zachowane, należy zaszyfrować je z Win32 crypto API. |
Przykład
W tym przykładzie wywołanie SQLDriverConnect połączyć się z wystąpienie SQL Server bez konieczności istniejących danych ODBC źródło.Przekazując niekompletne połączenia ciąg do SQLDriverConnect, powoduje sterownika ODBC monitował użytkownika o wprowadzenie 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);