[C++] probleme du driver SQL

Capry Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   -  
Capry Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je voudrais pouvoir gérer en c++ une base de donnée en SQL. J'ai déjà une bonne expérience en PHP donc le SQL en lui même ne devrait pas trop poser de problèmes...
J'ai donc installé la librairie et fait tout les includes nécessaires, mais lors de la première ligne (eh oui déjà :honte: ) j'ai un problème, voici mon code :




#include <cstdlib>
#include <iostream>
#include <sstream>
#include <stdexcept>
#include <driver/mysql_public_iface.h>

using namespace std;

int main(int argc, char *argv[])
{
sql::Driver * driver = get_driver_instance();
system("PAUSE");
return EXIT_SUCCESS;
}






Lorsque je compile le compilateur affiche :

[Linker error] undefined reference to `_imp__get_driver_instance'



J'ai beau tourner un rond pendant des heures je ne trouves pas de solutions à ce problème. Est-ce qu'un zéro aurait une idée ?

Merci d'avance,
Capry
A voir également:

7 réponses

Capry Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
 
Ah :S ,

Toutes mes excuses j'ai oublié d'inclure la librairie : mysqlcppconn.lib

Encore désolé,

Capry
0
Capry Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai un nouveau problème :S (decidemment cette librairie va m'énerver >_< ), voici mon code :



Code :

1. #include <cstdlib>
2. #include <iostream>
3. #include <sstream>
4. #include <string>
5. #include <stdexcept>
6. #include <driver/mysql_public_iface.h>
7.
8. using namespace std;
9.
10. int main(int argc, char *argv[])
11. {
12. sql::Driver * driver = get_driver_instance();
13. std::auto_ptr< sql::Connection > con(driver->connect("127.0.0.1", "Capry", "barbedor" ));
14. std::auto_ptr< sql::Statement > stmt(con->createStatement());
15.
16. system("PAUSE" );
17. return EXIT_SUCCESS;
18. }




Tout se passe bien à la compilation, aucune erreur signalée mais dès que je l'éxecute :


"SQL.exe à rencontrer un probleme et doit fermer"


Même chose si je ne met pas la troisième ligne sauf que le message ne se met qu'une fois passé le "system("PAUSE" );" :S.


Quelqu'un aurait une idée pour résoudre ce problème ? Peut-être une DLL non incluse ?


Merci d'avance
Capry
0
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193
 
pour que le message s'affiche avant le pause, faits un cout<<endl; avans le pause... ca videra le buffer

peut etre qu'un flush peut remplacer ca
0
Capry Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
 
Je crois que tu n'as pas vraiment compris. Je ne veut PAS que le message s'affiche (bah oui c'est un message d'erreur XD). Je demande justement pouruqoi il s'affiche alors que j'ai fait comme indiqué dans la doc de MYSQL...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193
 
comme je t'ai dis en message privé, je croi avoir un bout de code qui fonctionne chez moi, mais encore faut il que je le retrouve... (la je suis au boulot)
moi j'avais fait en utilisant les drivers ODBC (j'utilisait la version 3.51 du driver je croi)
https://dev.mysql.com/downloads/connector/odbc/5.1.html

essayes de cette manière. Ca a l'avantage de pouvoir basculer de mySQL à SQL serveur facilement je pense
0
Capry Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
 
Ah d'accord, excuse moi je n'avait pas vu ton message privé, je vais essayer de suivre ta solution. J'attends ton code source ce soir.
Merci encore.
0
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193
 
ce soir c'est pas sur .... il faut que j'ai le temps de le chercher, et que je le trouve !
0
Capry Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
 
quand pense tu alors me le faire parvenir s'il te plait ?
0