Probleme de connexion a la BD

Résolu
Lenouveauapprenti Messages postés 300 Date d'inscription samedi 22 décembre 2018 Statut Membre Dernière intervention 7 avril 2024 - 27 janv. 2024 à 18:23
Lenouveauapprenti Messages postés 300 Date d'inscription samedi 22 décembre 2018 Statut Membre Dernière intervention 7 avril 2024 - 28 janv. 2024 à 21:28

Bonjour,

Environnement : Python

Niveau : Debutant

Je n'arrive pas a me connecter correctement a ma base de donnees (BDGestion) cree dans MariaBD.

Je mets a votre disposition mon code, et je vous remercie d'avance de corriger mes erreurs.

#Se connecter avec la Base des Donnees
import mariadb
try:
  connection=mariadb.connect(
      password=19620903,
      host=mariadb_host,
      port=3306,
      database=BDGestion

  )

except mariadb.error as err:
    print(f"Erreur de connection a la base des donnees")

#Definir source des objets
import tkinter
import tkinter.ttk
from tkinter import *

#Creation de la fenetre principale
Fenetre=Tk()

#Creation de Sous Fenetre

#Sous fenetre = Creation de societe
def Afficher_CreationSte():
    Afficher_CreationSte=tkinter.Toplevel()
    Afficher_CreationSte.title("Creation de Societe")
    Afficher_CreationSte.config(background="#E4DEBE")
    Afficher_CreationSte.iconbitmap("Champs.ico")
    Afficher_CreationSte.geometry('700x300')
    Afficher_CreationSte.minsize(width=400,height=200)

    #Creation de Frame
    maFrame=tkinter.LabelFrame(Afficher_CreationSte,background="#E4DEBE")
    maFrame.grid(padx=20,pady=10)

    Titre_RaisonSociale = tkinter.Label(maFrame, text="Raison Sociale",background="#E4DEBE")
    Titre_RaisonSociale.grid(row=0,column=1,ipadx=10,sticky="e")

    Zone_RaisonSociale = tkinter.Entry(maFrame, background="#E4DEBE",width=70)
    Zone_RaisonSociale.grid(row=0,column=2,sticky="w")

    Statut_Societe=tkinter.Label(maFrame,text="Statut Juridique",background="#E4DEBE")
    Statut_Societe.grid(row=1,column=1,ipadx=10,sticky="e")

    Liste_Statut=["S.A","S.A.R.L","S.N.C","S.F"]
    Zone_Statut=tkinter.ttk.Combobox(maFrame,values=Liste_Statut,background="#E4DEBE")
    Zone_Statut.grid(row=1,column=2,sticky="w")

    Titre_Capital=tkinter.Label(maFrame,text="Capital Social",background="#E4DEBE")
    Titre_Capital.grid(row=2,column=1,ipadx=10,sticky="e")

    Zone_Capital=tkinter.Entry(maFrame,background="#E4DEBE",width=23)
    Zone_Capital.grid(row=2,column=2,sticky="w")

    Titre_Ifiscal = tkinter.Label(maFrame, text="Identifiant Fiscal", background="#E4DEBE")
    Titre_Ifiscal.grid(row=3,column=1,ipadx=10 ,sticky="e")

    Zone_IFiscal=tkinter.Entry(maFrame,background="#E4DEBE",width=23)
    Zone_IFiscal.grid(row=3,column=2,sticky="w")

    Titre_Affiliation = tkinter.Label(maFrame, text="Affiliation CNSS", background="#E4DEBE")
    Titre_Affiliation.grid(row=4, column=1, ipadx=10, sticky="e")

    Zone_Affiliation = tkinter.Entry(maFrame, background="#E4DEBE",width=23)
    Zone_Affiliation.grid(row=4, column=2, sticky="w")

    Titre_Tel = tkinter.Label(maFrame, text="Telephone", background="#E4DEBE")
    Titre_Tel.grid(row=5, column=1, ipadx=10, sticky="e")

    Zone_Tel1 = tkinter.Entry(maFrame, background="#E4DEBE",width=23)
    Zone_Tel1.grid(row=5, column=2, sticky="w")

    Zone_Tel2 = tkinter.Entry(maFrame, background="#E4DEBE",width=23)
    Zone_Tel2.grid(row=6, column=2,sticky="w")

    Titre_Email = tkinter.Label(maFrame, text="E-Mail", background="#E4DEBE")
    Titre_Email.grid(row=7, column=1, ipadx=10, sticky="e")

    Zone_Email = tkinter.Entry(maFrame, background="#E4DEBE",width=23)
    Zone_Email.grid(row=7, column=2, sticky="w")

    Titre_Adresse = tkinter.Label(maFrame, text="Adresse", background="#E4DEBE")
    Titre_Adresse.grid(row=8, column=1, ipadx=10, sticky="e")

    Zone_Adresse = tkinter.Text(maFrame, background="#E4DEBE", width=65,height=2)
    Zone_Adresse.grid(row=8, column=2, sticky="w")

#_______________________________________
#Personnaliser la fenetre principale
Fenetre.iconbitmap("Champs.ico")
Fenetre.title("MezApp'S Apprentissage")
Fenetre.config(background="#E4DEBE")
Fenetre.geometry('1080x620')
Fenetre.minsize(width=700,height=400)

#Creation la Barre du Menu
Barre_Menu=Menu(Fenetre)

#Creation Menu deroulant = Fichiers
Menu1=Menu(Barre_Menu,tearoff=0)
Menu1.add_command(label="Ouvrir")
Menu1.add_command(label="Changement de Societe")
Menu1.add_separator()
Menu1.add_command(label="Creation de Societe",command=Afficher_CreationSte)
Menu1.add_command(label="Creation de Campagne")
Menu1.add_separator()
Menu1.add_command(label="Securite")
Menu1.add_command(label="Formater la Base des Donnees")
Menu1.add_separator()
Menu1.add_command(label="Quitter",command=Fenetre.quit)

Barre_Menu.add_cascade(label="Fichiers",menu=Menu1)
#-------------------------------------------------
#Configurer la Barre du Menu
Fenetre.config(menu=Barre_Menu)

#Charger la fenetre principale
Fenetre.mainloop()


Windows / Chrome 120.0.0.0

3 réponses

jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
27 janv. 2024 à 19:21

Bonjour,

A minima, il semble manquer le "user" de connexion.

voir la documentation :

https://mariadb.com/resources/blog/how-to-connect-python-programs-to-mariadb/


1
Lenouveauapprenti Messages postés 300 Date d'inscription samedi 22 décembre 2018 Statut Membre Dernière intervention 7 avril 2024 2
28 janv. 2024 à 01:26

Merci pour votre orientation, 

j'ai essaye une autre fois mais la console me renvoie le message ci dessous :

-------------------------------------------------------------------------

Traceback (most recent call last):
  File "C:\Users\hp\PycharmProjects\P2\main.py", line 11, in <module>
    except mariadb.error as err:
           ^^^^^^^^^^^^^
AttributeError: module 'mariadb' has no attribute 'error'. Did you mean: 'Error'?

Process finished with exit code 1
 

-----------------------------------------------------------------------------

peut etre que je me suis plante au cours de l'integration du package de mysql (mariadb). je ne sais rien

le code est comme suite :

#Se connecter avec la Base des Donnees
import mariadb
try:
    conn = mariadb.connect(
    user="mohammed",
    password="19620903",
    host="127.0.0.1",
    port=3306,
    database="BDGestion"
)
except mariadb.error as err:
    print(f"erreur de connection avec la base de donnees : {err}")



#Recuperation curseur
cur = conn.cursor()
0
jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
28 janv. 2024 à 01:53

Le message d'erreur est plutôt clair, sans compter que je t'ai donné le lien vers la documentation qui contient un exemple...

Si tu regardes bien le message d'erreur, il t'explique que tu as mis un e minuscule là où devrait se trouver un e majuscule.....

0
Lenouveauapprenti Messages postés 300 Date d'inscription samedi 22 décembre 2018 Statut Membre Dernière intervention 7 avril 2024 2
28 janv. 2024 à 21:28

Merci pour votre attention.

l'erreur se trouvait dans la création de l'utilisateur et son identification.

j'ai recrée user et son mot de passe

la connexion s'est bien passée, je le crois.

mon code est comme suite

#Se connecter avec la Base des Donnees
import mariadb
import sys

try:
    conn = mariadb.connect(
    user="mohammed",
    password="hello",
    host="127.0.0.1",
    port=3306,
    database="BDGestion"
)
except mariadb.Error as err:
    print(f"erreur de connection avec la base de donnees : {err}")
    sys.exit(1)

#Recuperation curseur
cur = conn.cursor()
0