Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème du connexion à BD Mysql dans un programme C

1 réponse
Avatar
Chaker Abidi
Salut,

- J'ai d=E9cid=E9 de travailler avec easyphp puisque plus facile =E0 cr=E9e=
r
des bases des donn=E9es par rapport au Mysql server via lignes des
commandes.
je ne sais pas c'est ceci est bon ou non ?

- Je ne sais pas pourquoi je trouve seulement le dossier bin sous
C:\Program Files\EasyPHP1-7\mysql

Je voudrais connecter =E0 une base de donn=E9es Mysql via ODBC =E0 partir
d'un programme C sous Visual Studio 2008 Windows.
J'ai Mysql version 4.0.15 (esayphp 1.7)
et mysql-connector-odbc-3.51.19-win32

je trouve seulement le dossier bin sous :C:\Program Files
\EasyPHP1-7\mysql
J'ai copi=E9 ma base des donn=E9es sous: C:\Program Files\EasyPHP1-7\mysql
\data

j'ai test=E9 la source de donn=E9es (ODBC) qui j'ai ajout=E9 avec la base
de donn=E9es. Ceci se passe bien.

le nom de DSN est : toto
le serveur: localhost
le nom d'utilisateur : root
le mot de passe est vide



Mysql est bien d=E9marr=E9. J'ai test=E9 la connexion entre le driver ODBC
et ma base des donn=E9es alors ceci se passe bien.

J'ai test=E9 le code suivant pour v=E9rifier la connexion au base des
donn=E9es. Le serveur est d=E9j=E0 d=E9marr=E9. La compilation se passe bie=
n.
Apr=E8s l'ex=E9cution, j'ai l'affichage suivant:

retcode=3D -1
Erreur sur l'instruction SQLConnect

le code est :

#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include<stdlib.h>
#include<string.h>

#include <sql.h>
#include <sqlext.h>
#include <sqltypes.h>

#include <sqlucode.h>
#include <odbcinst.h>
#include <Msdasql.h>
#include <Msdadc.h>


void main()
{
SQLRETURN retcode;
//char design[20];
//int A,B,C,D;
//char request[100];
//char dsn[20]=3D"toto";
//char uid[20]=3D"root";
//char pwd[20]=3D"";
SQLINTEGER lon,la,lb,lc,ld,taille=3DSQL_NTS;
SQLCHAR design[20];
SQLHDBC hdbc;
SQLHENV henv;
SQLHSTMT hstmt;


/*Allocate environment handle */
retcode =3D SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);

if (retcode =3D=3D SQL_SUCCESS || retcode =3D=3D SQL_SUCCESS_WITH_INFO) //{
/* Set the ODBC version environment attribute */
retcode =3D SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)
SQL_OV_ODBC3, 0);

if (retcode =3D=3D SQL_SUCCESS || retcode =3D=3D SQL_SUCCESS_WITH_INFO) =
//{
/* Allocate connection handle */
retcode =3D SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc);

// if (retcode =3D=3D SQL_SUCCESS || retcode =3D=3D
SQL_SUCCESS_WITH_INFO)

//printf("%s","vrai");
//else
//printf("erreur\n");
// }

//}


// retcode =3D SQLConnect(hdbc,(SQLCHAR*)dsn, SQL_NTS,
(SQLCHAR*)uid, SQL_NTS,(SQLCHAR*)pwd, SQL_NTS);
retcode=3DSQLConnect(hdbc,(SQLCHAR *)"toto",SQL_NTS,(SQLCHAR
*)"root",SQL_NTS,(SQLCHAR *)"",SQL_NTS);
printf("%d",retcode);
if(retcode =3D=3D SQL_SUCCESS || retcode =3D=3D SQL_SUCCESS_WITH_INFO)
printf("\n%s","vrai");
else
printf("Erreur sur l'instruction SQLConnect !\\n");

}

Je dois travailler dans cet environnement: Windows, Visual Studio, C,
Mysql et ODBC.

Je serais tr=E8s content pour vos aides

Merci.

1 réponse

Avatar
domi
Chaker Abidi wrote:
....
Erreur sur l'instruction SQLConnect




Ca a été répondu déjà :
http://minilien.com/?rz1fwrWiN5