IPB

Bienvenue invité ( Connexion | Inscription )

> Programmation

Il est interdit de poster directement à la racine de ce forum.
Veuillez créer votre topic dans le sous-forum approprié.

 
Reply to this topicStart new topic
> Mysql et le c++, besoin d'info.
Options
Shidosh
posté 4 Jul 2004, 19:18
Message #1


Adepte de Macbidouille
*

Groupe : Membres
Messages : 61
Inscrit : 14 Dec 2003
Lieu : Columbus
Membre no 12 492



J'ai installé recemment mysql qui marche nickel sous PhpMyadmin.

Je souhaiterai utilisé Mysql pour un programme en C++ qui aurait une tolérence aux pannes (les infos serait stocké sous la BD pour éviter de refaire tout les calculs si le pc plante ou si il y a une coupure).

Par contre, je n'ai aucune expérience de l'utilisation de Mysql via le C++.
J'ai vu qu'il existait Mysql++, j'aurai voulu savoir si celui ci etait mieux que Mysql?

Je souhaiterai donc 2 choses:

-Savoir si Mysql avec utilisation des api C marchait bien en c++ ou s'il fallait utiliser mysql++.

-Avoir des exemples de programme car je n'ai trouvé sur la doc que la description des fonction sans avoir un exemple d'un programme. (un programme qui fait connexion/requête/deconnexion sous mac ou n'importe quel unix/linux-like)

Merci d'avance. ^^
Go to the top of the page
 
+Quote Post
chombier
posté 4 Jul 2004, 19:25
Message #2


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 6 580
Inscrit : 20 Mar 2003
Membre no 6 765



Google est ton ami. Une recherche avec "mysql C++ sample code" donne ce lien en première page.


--------------------
késtananafout' (:
Go to the top of the page
 
+Quote Post
schlum
posté 5 Jul 2004, 08:58
Message #3


Terminaltor
Moderating Machine
*****

Groupe : Admin
Messages : 24 451
Inscrit : 25 Oct 2002
Lieu : Jeumont (59)
Membre no 4 319



C'est pas plus simple de stoquer dans un fichier pour le coup ?
A moins que ton programme brasse une quantité énorme de données bien entendu wink.gif


--------------------
          I think therefore I Mac          
Go to the top of the page
 
+Quote Post
Shidosh
posté 5 Jul 2004, 09:51
Message #4


Adepte de Macbidouille
*

Groupe : Membres
Messages : 61
Inscrit : 14 Dec 2003
Lieu : Columbus
Membre no 12 492



Un fichier serait trop complexe à gerer pour ce que je veux faire.
Car le programme tourne en parallele et je dois pouvoir etre sur que l'integralité des infos à été écrite ou non (le tout ou rien quoi).
Ceci est bcp plus facile à réaliser dans un premier temps sur une BD.
Go to the top of the page
 
+Quote Post
schlum
posté 5 Jul 2004, 10:03
Message #5


Terminaltor
Moderating Machine
*****

Groupe : Admin
Messages : 24 451
Inscrit : 25 Oct 2002
Lieu : Jeumont (59)
Membre no 4 319



C'est pas de tout repos le SQL en C sad.gif

faut faire un pgc, le compiler de manière spécial pour faire un .c avec ecpg qui appele des headers spéciaux ...
du genre :
CODE
#include <ecpgtype.h>
#include <ecpglib.h>
#include <ecpgerrno.h>
#include <sqlca.h>


--------------------
          I think therefore I Mac          
Go to the top of the page
 
+Quote Post
chombier
posté 5 Jul 2004, 10:44
Message #6


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 6 580
Inscrit : 20 Mar 2003
Membre no 6 765



QUOTE (schlum @ 5 Jul 2004, 10:03)
C'est pas de tout repos le SQL en C  sad.gif

faut faire un pgc, le compiler de manière spécial pour faire un .c avec ecpg qui appele des headers spéciaux ...
du genre :
CODE
#include <ecpgtype.h>
#include <ecpglib.h>
#include <ecpgerrno.h>
#include <sqlca.h>

L'exemple cité plus haut semble indiquer que c'est plus facile en C++:
CODE
#include <sqlplus.hh> // We need to supply this header file.

D'autre part, les sources du module mysql pour Python n'incluent que ces deux headers:
CODE
#include "mysql.h"
#include "mysqld_error.h"

blink.gif


--------------------
késtananafout' (:
Go to the top of the page
 
+Quote Post
schlum
posté 5 Jul 2004, 12:22
Message #7


Terminaltor
Moderating Machine
*****

Groupe : Admin
Messages : 24 451
Inscrit : 25 Oct 2002
Lieu : Jeumont (59)
Membre no 4 319



QUOTE (chombier @ 5 Jul 2004, 11:44)
QUOTE (schlum @ 5 Jul 2004, 10:03)
C'est pas de tout repos le SQL en C  sad.gif

faut faire un pgc, le compiler de manière spécial pour faire un .c avec ecpg qui appele des headers spéciaux ...
du genre :
CODE
#include <ecpgtype.h>
#include <ecpglib.h>
#include <ecpgerrno.h>
#include <sqlca.h>

L'exemple cité plus haut semble indiquer que c'est plus facile en C++:
CODE
#include <sqlplus.hh> // We need to supply this header file.

D'autre part, les sources du module mysql pour Python n'incluent que ces deux headers:
CODE
#include "mysql.h"
#include "mysqld_error.h"

blink.gif

Ah oué, possible que ce soit plus simple en C++ wink.gif


--------------------
          I think therefore I Mac          
Go to the top of the page
 
+Quote Post
Shidosh
posté 5 Jul 2004, 12:44
Message #8


Adepte de Macbidouille
*

Groupe : Membres
Messages : 61
Inscrit : 14 Dec 2003
Lieu : Columbus
Membre no 12 492



J'ai un pb au niveau de l'édition de lien.
J'ai voulu test un petit prg en c pour voir un peu le tout, et j'ai un pb au niveau de l'édition de lien:

bouh:~/testbd Shid$ gcc -c bd1.c
bouh:~/testbd Shid$ gcc -o testbd bd1.o
ld: Undefined symbols:
_mysql_close
_mysql_connect
_mysql_eof
_mysql_error
_mysql_fetch_row
_mysql_free_result
_mysql_num_fields
_mysql_query
_mysql_select_db
_mysql_store_result

pourtant j'ai bien les lib la ou il faut:

/usr/local/lib/libmysqlclient.12.0.0.dylib
/usr/local/lib/libmysqlclient.12.dylib
/usr/local/lib/libmysqlclient.a
/usr/local/lib/libmysqlclient.dylib
/usr/local/lib/libmysqlclient.la
/usr/local/lib/libmysqlclient_r.12.0.0.dylib
/usr/local/lib/libmysqlclient_r.12.dylib
/usr/local/lib/libmysqlclient_r.a
/usr/local/lib/libmysqlclient_r.dylib
/usr/local/lib/libmysqlclient_r.la

Quelqu'un a une idée? J'ai regardé sur le site de Mysql mais il parle d'un libmysqlclient.so que je ne trouve pas....
Go to the top of the page
 
+Quote Post
f_cam
posté 5 Jul 2004, 12:54
Message #9


Moderating Daemon
*****

Groupe : Modérateurs
Messages : 6 345
Inscrit : 22 Feb 2004
Lieu : Yvelines/Cambridge (GB), dans mon pantalon
Membre no 15 207



Il faut dire a gcc qu'il faut utiliser la librairie contenant ces symboles, si c'est la libmysqlclient qu'il faut utiliser, tu rajoutes une options -lmysqlclient a ton appel a gcc. Il me semble que par défaut gcc ne cherche pas dans /usr/local/lib, donc tu rajoutes un coup de -L/usr/local/lib


--------------------
G5 Bi 2GHz rev A, ATI X800 XT
Alu 17" rev A
MacBook core duo 1.83 GHz
Go to the top of the page
 
+Quote Post
chombier
posté 5 Jul 2004, 14:17
Message #10


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 6 580
Inscrit : 20 Mar 2003
Membre no 6 765



QUOTE (schlum @ 5 Jul 2004, 12:22)
Ah oué, possible que ce soit plus simple en C++  wink.gif

Le module python mysql est écrit en C pur et dur tongue.gif


--------------------
késtananafout' (:
Go to the top of the page
 
+Quote Post
dulrich
posté 15 Jul 2004, 20:08
Message #11


Méchant modérateur paranoïaque
*****

Groupe : Modérateurs
Messages : 10 755
Inscrit : 24 Jan 2002
Lieu : Confoederatio Helvetica, Kanton Wallis
Membre no 1 865



une question:
tu as installé quoi exactement et tu t'y prends comment?

arce que je commence à perdre patience, je viens de passer 2h à installer plusieurs trucs et rien ne marche... j'aurais besoin simplement de mysql++, j'ai installé la dernière version de mysql client (4.0.20 je crois)...


--------------------
Nothing Else Matters
Go to the top of the page
 
+Quote Post
Shidosh
posté 16 Jul 2004, 08:21
Message #12


Adepte de Macbidouille
*

Groupe : Membres
Messages : 61
Inscrit : 14 Dec 2003
Lieu : Columbus
Membre no 12 492



Perso, j'ai juste installé MySql, n'ayant pas besoin d'une BD orienté objet, j'ai donc fait un fichier avec les différentes requêtes dont j'avais besoin, et pour compiler tout mes .o final je fais un g++ -o tyty tyt.o bd.o -lmysqclient.

Sinon, j'ai installé un package mysql avec le module pour démarrer/arreter mysqld via préférence systeme. Je n'ai pas l'adresse de tête mais je pourrais la chercher si tu en as besoin
Go to the top of the page
 
+Quote Post
dulrich
posté 16 Jul 2004, 12:50
Message #13


Méchant modérateur paranoïaque
*****

Groupe : Modérateurs
Messages : 10 755
Inscrit : 24 Jan 2002
Lieu : Confoederatio Helvetica, Kanton Wallis
Membre no 1 865



pour mysql c'est bon... je pense que tu parles du pref pane de aaron (je l'ai mais il ne fonctionne pas avec la 4.0.20... c'est pas trop grave)... mon porblème c'était juste mysql++... j'arrive rien à en faire.


--------------------
Nothing Else Matters
Go to the top of the page
 
+Quote Post
dulrich
posté 19 Jul 2004, 22:09
Message #14


Méchant modérateur paranoïaque
*****

Groupe : Modérateurs
Messages : 10 755
Inscrit : 24 Jan 2002
Lieu : Confoederatio Helvetica, Kanton Wallis
Membre no 1 865



bon, j'ai fais comme toi... j'ai redéfinis mes propres fonctions tongue.gif , j'adore réinventer la roue biggrin.gif


--------------------
Nothing Else Matters
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 30th May 2024 - 20:55