Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Per allocare handle e connettersi a SQL Server
Includere i file di intestazione ODBC Sql.h, Sqlext.h, Sqltypes.h.
Includere il file di intestazione specifico del driver di SQL Server, Odbcss.h.
Chiamare SQLAllocHandle con un
HandleTypedi SQL_HANDLE_ENV per inizializzare ODBC e allocare un handle di ambiente.Chiamare SQLSetEnvAttr con
Attributeimpostato su SQL_ATTR_ODBC_VERSION eValuePtrimpostare su SQL_OV_ODBC3 per indicare che l'applicazione userà chiamate di funzione ODBC 3.x-format.Facoltativamente, chiamare SQLSetEnvAttr per impostare altre opzioni di ambiente o chiamare SQLGetEnvAttr per ottenere le opzioni di ambiente.
Chiamare SQLAllocHandle con un
HandleTypedi SQL_HANDLE_DBC per allocare un handle di connessione.Facoltativamente, chiamare SQLSetConnectAttr per impostare le opzioni di connessione o chiamare SQLGetConnectAttr per ottenere le opzioni di connessione.
Chiamare SQLConnect per usare un'origine dati esistente per connettersi a SQL Server.
oppure
Chiamare SQLDriverConnect per usare una stringa di connessione per connettersi a SQL Server.
Una stringa di connessione di SQL Server completa minima ha una delle due forme seguenti:
DSN=dsn_name;Trusted_connection=yes; DRIVER={SQL Server Native Client 10.0};SERVER=server;Trusted_connection=yes;Se la stringa di connessione non è completa,
SQLDriverConnectpuò richiedere le informazioni necessarie. Questo controllo è controllato dal valore specificato per il parametro DriverCompletion .- o -
Chiamare SQLBrowseConnect più volte in modo iterativo per compilare la stringa di connessione e connettersi a SQL Server.
Facoltativamente, chiamare SQLGetInfo per ottenere gli attributi e il comportamento del driver per l'origine dati di SQL Server.
Allocare e usare istruzioni .
Chiamare SQLDisconnect per disconnettersi da SQL Server e rendere disponibile l'handle di connessione per una nuova connessione.
Chiamare SQLFreeHandle con un
HandleTypedi SQL_HANDLE_DBC per liberare l'handle di connessione.Chiamare
SQLFreeHandlecon unHandleTypedi SQL_HANDLE_ENV per liberare l'handle dell'ambiente.
Importante
Se possibile, usare l'autenticazione di Windows. Se l'autenticazione di Windows non è disponibile, chiedere agli utenti di immettere le credenziali in fase di esecuzione. Evitare di archiviare le credenziali in un file. Se è necessario rendere persistenti le credenziali, è necessario crittografarle con l'API di crittografia Win32.
Esempio
In questo esempio viene illustrata una chiamata a SQLDriverConnect per connettersi a un'istanza di SQL Server senza richiedere un'origine dati ODBC esistente. Passando una stringa di connessione incompleta a SQLDriverConnect, il driver ODBC chiede all'utente di immettere le informazioni mancanti.
#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);