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

Le
Chaker Abidi
Salut,

- J'ai décidé de travailler avec easyphp puisque plus facile à crée=
r
des bases des données 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 données 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 données sous: C:Program FilesEasyPHP1-7mysql
data

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

J'ai testé le code suivant pour vérifier la connexion au base des
données. Le serveur est déjà démarré. La compilation se passe bie=
n.
Après l'exécution, 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 très content pour vos aides

Merci.
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
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