1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
| #include <stdio.h>
#include <windows.h>
#include <sql.h>
#include <sqlext.h>
void sql_perror(SQLSMALLINT HandleType, SQLHANDLE Handle, const char * title);
int main()
{
SQLHENV env;
if ( !SQL_SUCCEEDED(SQLAllocHandle(SQL_HANDLE_ENV, NULL, &env)) )
fprintf(stderr, "SQLAllocHandle (SQL_HANDLE_ENV) : la fonction a echoue.\n");
else
{
if ( !SQL_SUCCEEDED(SQLSetEnvAttr(env, SQL_ATTR_ODBC_VERSION, (void *)SQL_OV_ODBC3, 0)) )
sql_perror(SQL_HANDLE_ENV, env, "SQLSetEnvAttr");
else
{
SQLHDBC con;
if ( !SQL_SUCCEEDED(SQLAllocHandle(SQL_HANDLE_DBC, env, &con)) )
sql_perror(SQL_HANDLE_ENV, env, "SQLAllocHandle (SQL_HANDLE_DBC)");
else
{
SQLCHAR in[] = "DRIVER=MySQL ODBC 5.1 Driver;UID=root";
if ( !SQL_SUCCEEDED(SQLDriverConnect(con, NULL, in, SQL_NTS, NULL, 0, NULL,
SQL_DRIVER_NOPROMPT)) )
sql_perror(SQL_HANDLE_DBC, con, "SQLDriverConnect");
else
{
printf("Connexion reussie !!!\n");
SQLDisconnect(con);
}
SQLFreeHandle(SQL_HANDLE_DBC, con);
}
}
SQLFreeHandle(SQL_HANDLE_ENV, env);
}
return 0;
}
void sql_perror(SQLSMALLINT HandleType, SQLHANDLE Handle, const char * title)
{
SQLCHAR s[SQL_MAX_MESSAGE_LENGTH];
SQLSMALLINT ligne = 1;
fprintf(stderr, "%s :\n", title);
while (SQLGetDiagField(HandleType, Handle, ligne, SQL_DIAG_MESSAGE_TEXT, s, sizeof(s), NULL) != SQL_NO_DATA)
{
fprintf(stderr, "%d. %s\n", ligne, s);
ligne++;
}
} |
Partager