Auteur de questions
connecter à une base de données Mysql via ODBC à partir d'un programme C sous Visual Studio 2008 Windows.

Question
-
Salut,
Je voudrais connecter à une base de données Mysql via ODBC à partir
d'un programme C sous Visual Studio 2008 Windows.
le nom de DSN est : pays_dsn
le nom d'utilisateur : root
le mot de passe est vide
le programme est:1. #include <conio.h> 2. #include <stdio.h> 3. #include <windows.h> 4. #include <sql.h> 5. #include <sqlext.h> 6. #include <sqltypes.h> 7. 8. intmain() 9. { 10. SQLHENVenv; 11. 12. if(!SQL_SUCCEEDED(SQLAllocHandle(SQL_HANDLE_ENV,NULL,&env))) 13. fprintf(stderr,"La fonction SQLAllocHandle a echoue (SQL_HANDLE_ENV).\n" ); 14. else 15. { 16. if(!SQL_SUCCEEDED(SQLSetEnvAttr(env,SQL_ATTR_ODBC_VERSION,(void*)SQL_OV_ODBC3,0))) 17. fprintf(stderr,"La fonction SQLSetEnvAttr a echoue.\n" ); 18. else 19. { 20. SQLHDBCcon; 21. 22. if(!SQL_SUCCEEDED(SQLAllocHandle(SQL_HANDLE_DBC,env,&con))) 23. fprintf(stderr,"La fonction SQLAllocHandle a echoue (SQL_HANDLE_DBC).\n" ); 24. else 25. { 26. SQLCHARdsn[]="pays_dsn",uid[]="root",pwd[]=""; 27. 28. if(!SQL_SUCCEEDED(SQLConnect(con,dsn,SQL_NTS,uid,SQL_NTS,pwd,SQL_NTS))) 29. // if ( !SQL_SUCCEEDED(SQLConnect(con,(SQLCHAR *)"pays_dsn", SQL_NTS,(SQLCHAR *)"root", SQL_NTS,(SQLCHAR *)"", SQL_NTS)) ) 30. fprintf(stderr,"La fonction SQLConnect a echoue.\n" ); 31. else 32. { 33. SQLHSTMTstmt; 34. 35. if(!SQL_SUCCEEDED(SQLAllocHandle(SQL_HANDLE_STMT,con,&stmt))) 36. fprintf(stderr,"La fonction SQLAllocHandle a echoue (SQL_HANDLE_STMT).\n" ); 37. else 38. { 39. if(!SQL_SUCCEEDED(SQLExecDirect(stmt,"SELECT * FROM pays_tbl;",SQL_NTS))) 40. fprintf(stderr,"La fonction SQLExecDirect a echoue.\n" ); 41. else 42. { 43. SQLCHARpays[15],capitale[15]; 44. 45. printf("PAYS > CAPITALE\n\n" ); 46. 47. while(SQL_SUCCEEDED(SQLFetch(stmt))) 48. { 49. SQLGetData(stmt,1,SQL_C_CHAR,pays,sizeof(pays),NULL); 50. SQLGetData(stmt,2,SQL_C_CHAR,capitale,sizeof(capitale),NULL); 51. printf("%-14s %-14s\n",pays,capitale); 52. } 53. } 54. 55. SQLFreeHandle(SQL_HANDLE_STMT,stmt); 56. } 57. 58. SQLDisconnect(con); 59. } 60. 61. SQLFreeHandle(SQL_HANDLE_DBC,con); 62. } 63. } 64. 65. SQLFreeHandle(SQL_HANDLE_ENV,env); 66. } 67. getch(); 68. return0; 69. }
Après la compilation et l'exécution j'aurais ce message:
La fonction SQLConnect a echoue.
J'ai pris cet exemple de lien suivant:
http://melem.developpez.com/langagec/odbc
Comment ce problème de connexion va être résolu?
SVP, j'ai besoin de vos aides