begin process at 2010 02 10 02:34:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Base de données

 > 

SQL

 > 

exemple de test de connection au Mysql ne marche pas dans un programme C


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

exemple de test de connection au Mysql ne marche pas dans un programme C

mercredi 1 juillet 2009 à 09:41:05 | exemple de test de connection au Mysql ne marche pas dans un programme C

boualiasma

Salut,

j'ai installé la librairie mysql.
- Je voudrais établir dans mon programme C une connexion à une base de données crée sous Mysql(j'ai instalé EasyPHP-3.0-setup). Sachant que mon programme C est sous Visual Studio 2008.

- La vesion de mysql est 5.1.30.
- J'ai écrit un petit exemple de test. mais j'ai eu des erreurs.

Voici mon code:

#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <libxml/parser.h>
#include <winsock.h>
#include <mysql.h>
#pragma comment(lib,"libxml2.lib")
//#pragma comment (lib,"libmysql.lib")


int main() {
    xmlDocPtr doc;
    xmlNodePtr racine;
    MYSQL mysql;
    mysql_init(&mysql);
    mysql_options(&mysql,MYSQL_READ_DEFAULT_GROUP,"option");

    // Ouverture du fichier XML
    doc = xmlParseFile("catalogue.xml");
    if (doc == NULL) {
        fprintf(stderr, "Document XML invalide\n");
        return EXIT_FAILURE;
    }
    // Récupération de la racine
    racine = xmlDocGetRootElement(doc);
    if (racine == NULL) {
        fprintf(stderr, "Document XML vierge\n");
        xmlFreeDoc(doc);
        return EXIT_FAILURE;
    }
    printf("La racine du document est : %s\n", racine->name);
    // Libération de la mémoire
    xmlFreeDoc(doc);

    return EXIT_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!");
    }


    
}


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>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é
mercredi 1 juillet 2009 à 11:34:02 | Re : exemple de test de connection au Mysql ne marche pas dans un programme C

ghuysmans99

Membre Club
Ce serait p'tèt une bonne idée de linker avec libmysql.lib
Signature.gif
mercredi 1 juillet 2009 à 20:44:54 | Re : exemple de test de connection au Mysql ne marche pas dans un programme C

boualiasma

Salut,
Pouvez-vous détailler votre idée?
mercredi 1 juillet 2009 à 20:48:27 | Re : exemple de test de connection au Mysql ne marche pas dans un programme C

ghuysmans99

Membre Club
Pour faire simple, décommenter la ligne 8
Signature.gif
mercredi 1 juillet 2009 à 21:48:46 | Re : exemple de test de connection au Mysql ne marche pas dans un programme C

boualiasma

Salut,
1)
- La vesion de mysql est 5.1.30.
- J'ai trouvé seulement le dossier bin sous:
C:\Program Files\EasyPHP 3.0\mysql\bin
- J'ai ajouté le dossier include et lib qui existent dans le dossier de API mysql respectivement sous:
C:\Program Files\Microsoft Visual Studio 9.0\VC\include
C:\Program Files\Microsoft Visual Studio 9.0\VC\bin

2) Est ce que j'ajoute le dossier bin de API Mysql sous ?
C:\Program Files\Microsoft Visual Studio 9.0\VC\bin

3) - Quelles sont les étapes à suivre pour connecter une base des données sous Mysql via ODBC à partir d'un programme C ?

4) Quelle est la différence entre connexion ODBC et API Mysql?

4) J'ai décommenter la ligne 8.

Voici le code:

#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <libxml/parser.h>
#include <winsock.h>
#include <mysql.h>
#pragma comment(lib,"libxml2.lib")
#pragma comment (lib,"libmysql.lib")


int main() {
    xmlDocPtr doc;
    xmlNodePtr racine;
    MYSQL mysql;
    mysql_init(&mysql);
    mysql_options(&mysql,MYSQL_READ_DEFAULT_GROUP,"option");

    // Ouverture du fichier XML
    doc = xmlParseFile("catalogue.xml");
    if (doc == NULL) {
        fprintf(stderr, "Document XML invalide\n");
        return EXIT_FAILURE;
    }
    // Récupération de la racine
    racine = xmlDocGetRootElement(doc);
    if (racine == NULL) {
        fprintf(stderr, "Document XML vierge\n");
        xmlFreeDoc(doc);
        return EXIT_FAILURE;
    }
    printf("La racine du document est : %s\n", racine->name);
    // Libération de la mémoire
    xmlFreeDoc(doc);

    return EXIT_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'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é ==========


SVP, j'ai besoin de vos aides.
C'est très urgent.
Merci.
mercredi 1 juillet 2009 à 23:33:21 | Re : exemple de test de connection au Mysql ne marche pas dans un programme C

ghuysmans99

Membre Club
Dans ton répertoire bin, il y a un fichier libmysql.lib
Copie-le dans le répertoire lib de VC++
Recompile ton projet VC++ normalement ça devrait aller.

Quelle différence entre ODBC ? ODBC gère plusieurs types de bases de données ... MySQL c'est strictement MySQL.
Signature.gif
jeudi 2 juillet 2009 à 00:31:57 | Re : exemple de test de connection au Mysql ne marche pas dans un programme C

boualiasma

J'ai ajouté le fichier libmysql.lib sous:
C:\Program Files\Microsoft Visual Studio 9.0\VC\lib

Le message d'erreur:

1>------ Début de la génération : Projet : passage, Configuration : Debug Win32 ------
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é ==========
jeudi 2 juillet 2009 à 00:33:39 | Re : exemple de test de connection au Mysql ne marche pas dans un programme C

boualiasma

Salut,
est ce que j'ajoute libmysql.dll sous: ?
C:\ChGaLib\passage\passage\Debug
ou bien
C:\ChGaLib\passage\passage\
jeudi 2 juillet 2009 à 01:09:33 | Re : exemple de test de connection au Mysql ne marche pas dans un programme C

ghuysmans99

Membre Club
Dans aucun des deux ... il doit le prendre dans le répertoire include de VC++.
Vérifie que tu l'as pas fait de faute de frappe ...
Et si tu as un stdafx.h, recompile tout le projet (menu Rebuild passage)
Si ça marche toujours pas, copie-le dans C:\ChGaLib\passage\passage\ et dans ton code fait ceci :
#pragma comment(lib,"libmysql.lib")
Recompile le code
Signature.gif
jeudi 2 juillet 2009 à 07:59:17 | Re : exemple de test de connection au Mysql ne marche pas dans un programme C

boualiasma

Salut,
je n'ai pas stdafx.h.
j''ai remarqué que libmysql.lib se trouve sous:
C:\Program Files\Microsoft Visual Studio 9.0\VC\lib\opt

Voici le code :

#include <windows.h>
#include<stdafx.h>
#include <stdio.h>
#include <stdlib.h>
#include <libxml/parser.h>
#include <winsock.h>
#include <mysql.h>
#pragma comment(lib,"libxml2.lib")
#pragma comment(lib,"libmysql.lib")


int main() {
    xmlDocPtr doc;
    xmlNodePtr racine;
    MYSQL mysql;
    mysql_init(&mysql);
    mysql_options(&mysql,MYSQL_READ_DEFAULT_GROUP,"option");

    // Ouverture du fichier XML
    doc = xmlParseFile("catalogue.xml");
    if (doc == NULL) {
        fprintf(stderr, "Document XML invalide\n");
        return EXIT_FAILURE;
    }
    // Récupération de la racine
    racine = xmlDocGetRootElement(doc);
    if (racine == NULL) {
        fprintf(stderr, "Document XML vierge\n");
        xmlFreeDoc(doc);
        return EXIT_FAILURE;
    }
    printf("La racine du document est : %s\n", racine->name);
    // Libération de la mémoire
    xmlFreeDoc(doc);

    return EXIT_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!");
    }


   
}

message d'erreur:
1>------ Début de la génération : Projet : passage, Configuration : Debug Win32 ------
1>Compilation en cours...
1>main.c
1>c:\chgalib\passage\passage\main.c(23) : fatal error C1083: Impossible d'ouvrir le fichier include : 'stdafx.h' : No such file or directory
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é ==========



1 2

Cette discussion est classée dans : mysql, doc, include, main, racine


Répondre à ce message

Sujets en rapport avec ce message

probleme de connection [ par MadMatt ] Bonjour à tousJe voudrais ouvrir une base de données en C++ sous Linux (redhat 8) et avec KDevelop.Pour se faire, il faut que j'utilise les fonctions C++ VS Mysql [ par ours_aquatique ] Bonjour ,Aprés une semaine de recherche infructueuse , j'ai toujours le probleme suivant:je compile sous devC++ j utilise Mysql (V4.et des poussieres) problème de connexion à une base de données dans C [ par boualiasma ] Salut,1)- Je voudrais connecter à une base des données crée sous Mysql  de version 5.1.30le dossier d'installation est : C:\Program Files\EasyPHP 3.0\ Retour MySQL [ par Xantra ] Bonjour,J'ai un petit problème avec le code suivant :#include #include #include #include int main(){    int var;    MYSQ configurer mon projet C avec ODBC et Mysql [ par boualiasma ] Salut,  J'ai Mysql version 4.0.15 (esayphp 1.7). Je trouve seulement le dossier bin  sous: C:\Program Files\EasyPHP1-7\mysql\bin  c'est logique de ne Forcer la vérification des "include" [ par simonpelloquin ] Bonjour, Une petite question sur le compilateur g++. J'ai une classe (dans un couple .cc et .h) qui utilise un tableau de taille 100 défini dans le Probléme avec les chaines de caractére [ par Mareck666 ] Salut, Voila j'ai un gros probléme, en faite je voudrais réaliser un chatterbot en c, du genre on rentre une question dans la console et le bot nous r problème avec dll [ par loiclm86 ] Bonjour,J'aimerais créer et utiliser une dll. J'ai regardé sur internet mais j'ai quelques pbs.J'utilise Vista et Codeblocks.Je crée d'abord le projet Problème du connexion à BD Mysql dans un programme C [ par boualiasma ] Salut, - J'ai décidé de travailler avec easyphp puisque plus facile à créer des bases des données par rapport au Mysql server via lignes des commandes probleme d'authentification [ par neofenix ] bonjour a tous et oui c'est encore moi ^^voila je crée un programme qui permet de creer un compte sur un serveur mysql et l'utilisateur peut ensuite s


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales