Bonjour,
Je voudrais me connecter à ma base de données MySQL en suivant la méthode suivante :
1- Utilisation d'un fichier contenant les paramètres de connexion : config.ini
2- Utilisation de configparser pour la lecture et l'extraction des paramètre de connexion : reading_config_file.py
config.ini :
reading_config_file.pyCode:
1
2
3
4
5
6 [mysql] host = 127.0.0.0 database = db user = user password = paswd
En exécutant le code suivant:Code:
1
2
3
4
5
6
7
8
9
10 import configparser config = configparser.ConfigParser() config.read('config.ini') host = config['mysql']['host'] database = config['mysql']['database'] user = config['mysql']['user'] password = config['mysql']['password']
ça marche bien :DCode:
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
29
30
31 import MySQLdb from MySQLdb import Error import src.reading_config_file as param def lister_clients(): cnx = None cursor = None try: cnx = MySQLdb.connect(host=param.host, database=param.database, user=param.user, password=param.password) cursor = cnx.cursor() cursor.execute('SELECT * FROM clients ') rows = cursor.fetchall() print('Total Row(s):', cursor.rowcount) for row in rows: print(row) except Error as e: print(e) finally: cursor.close() cnx.close() if __name__ == '__main__': lister_clients()
Seulement, si j'exécute le scripte de la connexion PyQt5 il me retourne le message de "Problème d'accès à la base de données"
Est ce que j'ai loupé quelque chose ?? Merci pour votre Aide :calim2::calim2:Code:
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 import sys from PyQt5 import QtCore, QtWidgets from PyQt5.QtSql import (QSqlTableModel, QSqlDatabase) from PyQt5.QtWidgets import (QMainWindow, QMessageBox) import src.reading_config_file as param def open_connexion(): db = QSqlDatabase.addDatabase('QMYSQL') db.setHostName(param.host) db.setDatabaseName(param.database) db.setUserName(param.user) db.setPassword(param.password) db.open() if not db.open(): QMessageBox.critical(None, "Problème d'accès à la base de données \n", 'Impossible d\'établir une connexion à la base de données.\n' 'Cliquer Annuler pour sortir.', QMessageBox.Cancel) return None else: return db