problème de connexion à une base de données dans C
boualiasma
Messages postés393Date d'inscriptionlundi 22 juin 2009StatutMembreDernière intervention23 décembre 2011
-
1 juil. 2009 à 21:06
fregolo52
Messages postés1114Date d'inscriptionmercredi 15 juin 2011StatutMembreDernière intervention 6 mai 2021
-
2 juil. 2009 à 15:05
Salut,
1)
- Je voudrais connecter à une base des données crée sous Mysql de version 5.1.30
le dossier d'installation est : C:\Program Files\EasyPHP 3.0\mysql
- J'ai utilisé API Mysql, mais j'ai trouvé de problème
Voici mon code:
// Ouverture du fichier XML
doc=xmlParseFile("catalogue.xml");
if(doc==NULL){
fprintf(stderr,"Document XML invalide\n");
returnEXIT_FAILURE;
}
// Récupération de la racine
racine=xmlDocGetRootElement(doc);
if(racine==NULL){
fprintf(stderr,"Document XML vierge\n");
xmlFreeDoc(doc);
returnEXIT_FAILURE;
}
printf("La racine du document est : %s\n",racine->name);
// Libération de la mémoire
xmlFreeDoc(doc);
returnEXIT_SUCCESS;
if(mysql_real_connect(&mysql,"localhost","root","","chmsi",0,NULL,0))
{
mysql_close(&mysql);
}
else
{
printf("Une erreur s'est produite lors de la connexion à la BDD!");
}
}
Voici le message d'erruer:
1>------Débutdelagénération:Projet:passage,Configuration:DebugWin32------
1>Compilationencours...
1>main.c
1>Éditiondesliensencours...
1>main.obj:errorLNK2019:symboleexternenonrésolu_mysql_close@4référencé danslafonction_main
1>main.obj:errorLNK2019:symboleexternenonrésolu_mysql_real_connect@32référencé danslafonction_main
1>main.obj:errorLNK2019:symboleexternenonrésolu_mysql_options@12référencé danslafonction_main
1>main.obj:errorLNK2019:symboleexternenonrésolu_mysql_init@4référencé danslafonction_main
1>C:\ChGaLib\passage\Debug\passage.exe:fatalerrorLNK1120:4externesnonrésolus
1>Lejournaldegénérationa été enregistré à l'emplacement"file://c:\ChGaLib\passage\passage\Debug\BuildLog.htm"
1>passage-5erreur(s),0avertissement(s)
========Génération:0aréussi,1a échoué,0mis à jour,0a été ignoré ==========
2) Quelles sont les étapes à suivre pour connecter une base des données sous Mysql via ODBC à partir d'un programme C ?
3) Quelle est la différence entre une connexion ODBC et celle de API Mysql ?
fregolo52
Messages postés1114Date d'inscriptionmercredi 15 juin 2011StatutMembreDernière intervention 6 mai 20214 2 juil. 2009 à 09:06
Je n'utilise jamais les #pragma
Tu as un pb de link, a priori, libmysql.lib n'est pas trouvée. As-tu référencé le chemin du genre c:\..\Easy PHP\mysql\lib quelque part ? (dans ton projet visual ou path).
boualiasma
Messages postés393Date d'inscriptionlundi 22 juin 2009StatutMembreDernière intervention23 décembre 20115 2 juil. 2009 à 10:13
Salut,
- J'ai seulement le dossier bin sous:
C:\Program Files\EasyPHP 3.0\mysql\bin
- Je ne trouve pas lib et include J'ai mis libmysql.dll à cpoté main.c sous:
C:\ChGaLib\passage\passage
Voici le code avant de supprimer #pragma comment(lib,"libmysql.lib") :
MYSQL mysql;
mysql_init(&mysql);
mysql_options(&mysql,MYSQL_READ_DEFAULT_GROUP,"option");
if(mysql_real_connect(&mysql,"localhost","root","","chmsi",0,NULL,0))
{
mysql_close(&mysql);
}
else
{
printf("Une erreur s'est produite lors de la connexion à la BDD!");
}
}
Le message d'erreur:
1>------ Début de la génération : Projet : passage, Configuration : Debug Win32 ------
1>Compilation en cours...
1>main.c
1>Édition des liens en cours...
1>LINK : fatal error LNK1104: impossible d'ouvrir le fichier 'libmysql.lib'
1>Le journal de génération a été enregistré à l'emplacement "file://c:\ChGaLib\passage\passage\Debug\BuildLog.htm"
1>passage - 1 erreur(s), 0 avertissement(s)
======== Génération : 0 a réussi, 1 a échoué, 0 mis à jour, 0 a été ignoré ==========
Voici le message d'erreur si je supprime#pragma comment(lib,"libmysql.lib") :
1>------ Début de la génération : Projet : passage, Configuration : Debug Win32 ------
1>Compilation en cours...
1>main.c
1>Édition des liens en cours...
1>main.obj : error LNK2019: symbole externe non résolu _mysql_close@4 référencé dans la fonction _main
1>main.obj : error LNK2019: symbole externe non résolu _mysql_real_connect@32 référencé dans la fonction _main
1>main.obj : error LNK2019: symbole externe non résolu _mysql_options@12 référencé dans la fonction _main
1>main.obj : error LNK2019: symbole externe non résolu _mysql_init@4 référencé dans la fonction _main
1>C:\ChGaLib\passage\Debug\passage.exe : fatal error LNK1120: 4 externes non résolus
1>Le journal de génération a été enregistré à l'emplacement "file://c:\ChGaLib\passage\passage\Debug\BuildLog.htm"
1>passage - 5 erreur(s), 0 avertissement(s) Génération : 0 a réussi, 1 a échoué, 0 mis à jour, 0 a été ignoré