Allocare handle e connettersi a SQL Server (ODBC)
Si applica a: SQL Server Azure SQL DatabaseIstanza gestita di SQL di AzureAzure Synapse Analytics AnalyticsPlatform System (PDW)
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 SQL Server, Odbcss.h.
Chiamare SQLAllocHandle con handleType di SQL_HANDLE_ENV per inizializzare ODBC e allocare un handle di ambiente.
Chiamare SQLSetEnvAttr con Attribute impostato su SQL_ATTR_ODBC_VERSION e ValuePtr impostato su SQL_OV_ODBC3 per indicare che l'applicazione userà chiamate di funzione in formato ODBC 3.x.
Facoltativamente, chiamare SQLSetEnvAttr per impostare altre opzioni di ambiente o chiamare SQLGetEnvAttr per ottenere le opzioni di ambiente.
Chiamare SQLAllocHandle con handleType di 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 completa minima SQL Server ha uno dei due formati 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, SQLDriverConnect può richiedere le informazioni necessarie. Ciò è controllato dal valore specificato per il parametro DriverCompletion .
- oppure -
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 SQL Server.
Allocare e utilizzare le istruzioni.
Chiamare SQLDisconnect per disconnettersi da SQL Server e rendere disponibile l'handle di connessione per una nuova connessione.
Chiamare SQLFreeHandle con handleType di SQL_HANDLE_DBC per liberare l'handle di connessione.
Chiamare SQLFreeHandle con handleType di SQL_HANDLE_ENV per liberare l'handle dell'ambiente.
Importante
Se possibile, usare l'autenticazione di Windows. Se non è disponibile, agli utenti verrà richiesto di immettere le credenziali in fase di esecuzione. Evitare di archiviare le credenziali in un file. Se è necessario rendere persistenti le credenziali, è consigliabile crittografarle usando 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);
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per