Bonjour a tous,
Je me présente rapidement, Pierre, 20 ans, Angers, en stage.
Je dois créer un petit utilitaire qui permetrait de transvaser certaines infos d'un base de données locale (du FireBird) vers une bdd Mysql sur un serveur web.
Donc voila, j'ai trouvé mes librairies, installé celles ci, tout vas bien ! yahou !
Mais le soucis est au moment de l'insertion de données, voilà en gros ce qu'il se passe :
J'ouvre ma bdd
Je fais un premier SELECT pour voir ce qu'il y a dans la table visée
J' insert un enregistrement
Je fais un deuxième SELECT, l'enregistrement est pris en compte
Mais quand je repasse sur phpmyadmin pour voir si les enregistrements sont réelement présents ils n'y sont pas. En gros Python semble enregistrer que quand le soft est lancé (je sais que ça ne marche pas comme ça mais c'est pour vous donner une idée)
Donc voilà, je suis pomé, pour info j'ai deux bdd en local, une MySQL et une FireBird .. je ne sais pas si ça joue ..
Je vous balance le code (c'est mon premier script python). Merci d'avance
Voila voila ^^
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 import kinterbasdb, MySQLdb #connexion à la bdd locale (firebird) kinterbasdb.connect(host='localhost', database='c:BDPEPS.GDB', user='SYSDBA', password='masterkey') local_curs = local_con.cursor() #connexion à la bdd externe (mysql) http_con = MySQLdb.connect (host='localhost', db='akad_web', user='root', passwd='') http_curs = http_con.cursor() # TEST D'UNE REQUETTE SELECT SUR MySQL http_curs.execute("SELECT * FROM `table`") resultat = http_curs.fetchall() print resultat # TEST D'UNE REQUETTE INSERT INTO SUR MySQL http_curs.execute("INSERT INTO `table` (`id`, `content`) Values (3, 'Troisieme test')") http_curs.execute("SELECT * FROM `table`") resultat = http_curs.fetchall() print resultat #fermeture des bdd http_curs.close() local_curs.close() ##### RÉSULTAT : ###### (('1L', 'Premier test'), ('2L', 'Deuxieme test')) (('1L', 'Premier test'), ('2L', 'Deuxieme test'), ('3L', 'Troisieme test')
Partager