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

Le
Chaker Abidi
Salut,

- J'ai dcid de travailler avec easyphp puisque plus facile cre=
r
des bases des donnes 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 FilesEasyPHP1-7mysql

Je voudrais connecter une base de donnes Mysql via ODBC 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-7mysql
J'ai copi ma base des donnes sous: C:Program FilesEasyPHP1-7mysql
data

j'ai test la source de donnes (ODBC) qui j'ai ajout avec la base
de donnes. 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 dmarr. J'ai test la connexion entre le driver ODBC
et ma base des donnes alors ceci se passe bien.

J'ai test le code suivant pour vrifier la connexion au base des
donnes. Le serveur est dj dmarr. La compilation se passe bie=
n.
Aprs l'excution, j'ai l'affichage suivant:

retcode= -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]="toto";
//char uid[20]="root";
//char pwd[20]="";
SQLINTEGER lon,la,lb,lc,ld,taille=SQL_NTS;
SQLCHAR design[20];
SQLHDBC hdbc;
SQLHENV henv;
SQLHSTMT hstmt;


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

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

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

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

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

//}


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

}

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

Je serais trs content pour vos aides

Merci.
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
domi
Le #19753471
Chaker Abidi wrote:
....
Erreur sur l'instruction SQLConnect




Ca a été répondu déjà :
http://minilien.com/?rz1fwrWiN5
Publicité
Poster une réponse
Anonyme