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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
[mysql]
host = 127.0.0.0
database = db
user = user
password = paswd
reading_config_file.py

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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']
En exécutant le code suivant:

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
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()
ça marche bien

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"

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
 
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
Est ce que j'ai loupé quelque chose ?? Merci pour votre Aide