Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Para alocar identificadores e conectar-se ao SQL Server
Inclua os arquivos de cabeçalho ODBC Sql.h, Sqlext.h, Sqltypes.h.
Inclua o arquivo de cabeçalho específico do driver do SQL Server, Odbcss.h.
Chame SQLAllocHandle com uma
HandleTypeSQL_HANDLE_ENV para inicializar o ODBC e alocar um identificador de ambiente.Chame SQLSetEnvAttr com
Attributedefinido como SQL_ATTR_ODBC_VERSION eValuePtrdefinido como SQL_OV_ODBC3 para indicar que o aplicativo usará chamadas de função de formato ODBC 3.x.Opcionalmente, chame SQLSetEnvAttr para definir outras opções de ambiente ou chame SQLGetEnvAttr para obter opções de ambiente.
Chame SQLAllocHandle com uma
HandleTypeSQL_HANDLE_DBC para alocar um identificador de conexão.Opcionalmente, chame SQLSetConnectAttr para definir opções de conexão ou chame SQLGetConnectAttr para obter opções de conexão.
Chame o SQLConnect para usar uma fonte de dados existente para se conectar ao SQL Server.
Ou
Chame SQLDriverConnect para usar uma cadeia de conexão para se conectar ao SQL Server.
Uma cadeia de conexão mínima completa do SQL Server tem um dos dois formulários:
DSN=dsn_name;Trusted_connection=yes; DRIVER={SQL Server Native Client 10.0};SERVER=server;Trusted_connection=yes;Se a cadeia de conexão não estiver concluída,
SQLDriverConnectpoderá solicitar as informações necessárias. Isso é controlado pelo valor especificado para o parâmetro DriverCompletion .- ou -
Chame SQLBrowseConnect várias vezes de forma iterativa para criar a cadeia de conexão e conectar-se ao SQL Server.
Opcionalmente, chame SQLGetInfo para obter atributos de driver e comportamento para a fonte de dados do SQL Server.
Alocar e usar instruções.
Chame o SQLDisconnect para se desconectar do SQL Server e disponibilizar o identificador de conexão para uma nova conexão.
Chame SQLFreeHandle com uma
HandleTypeSQL_HANDLE_DBC para liberar o identificador de conexão.Chame
SQLFreeHandlecom umaHandleTypeSQL_HANDLE_ENV para liberar o identificador de ambiente.
Importante
Quando possível, use a Autenticação do Windows. Se a Autenticação do Windows não estiver disponível, solicite que os usuários insiram suas credenciais em tempo de execução. Evite armazenar credenciais em um arquivo. Se você precisar persistir as credenciais, deverá criptografá-las com a API de criptografia Win32.
Exemplo
Este exemplo mostra uma chamada para SQLDriverConnect se conectar a uma instância do SQL Server sem exigir uma fonte de dados ODBC existente. Ao passar uma cadeia de conexão incompleta, SQLDriverConnectisso faz com que o driver ODBC solicite que o usuário insira as informações ausentes.
#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);