#---------------------------------------------------# # # # Python # # # #---------------------------------------------------# # Auteur : # #---------------------------------------------------# # Date : # #---------------------------------------------------# # Besoin : connexion BDD PostegreSQL # #---------------------------------------------------# # -*- coding: ut-8 -* # ----------- | Importation Librairie | ----------- # import psycopg2 import sys import os import socket from getpass import getpass #---------------------------------------------------# # -------- | Initialisation des variables | ------- # mot_de_passe = getpass() requete = None #---------------------------------------------------# # ----------- | Programme Principal | ------------- # os.system("cls") # Saisi des données de connexion print("\n\t***** Connexion BDD PostgreSQL *****") print("\nVeuillez saisir les informations de connexion : ") bdd = str(input("base de données : ")) nom_user = str(input("nom d'utilisateur : ")) mot_de_passe = str(getpass("mot de passe : ")) port_user = input("Veuillez saisir le port (si vide, par défaut PostgreSQL) : ") if(port_user == ''): port_user = None # Test de connexion try: os.system("cls") print("\n... Connexion à la base de données en cours ...") conn = psycopg2.connect(dbname=bdd, user=nom_user, password=mot_de_passe,host='localhost', port=port_user) cursor = conn.cursor() # création du curseur except(psycopg2.Error): print("\n Erreur de connexion à la bdd, veuillez vérifier les info saisies !") input("\n Veuillez saisir ENTRER pour quitter le programme ...") sys.exit(0) # Affichage Image ASCII print("... Connecté avec succès !\n") with open('image_elephant.txt', 'r') as f: for line in f: print(line, end='') print("\n\nVeuillez saisir une requete : ") while(requete != 'q'): requete == '' # requete = None if(requete == ''): # permet de continuer meme si la requete est vide continue elif(requete == 'q'): input("\n\n... Fermeture du logiciel en cours ...\n\nVeuillez saisir ENTRER pour quitter") cursor.close() # fermeture du curseur conn.close() # fermeture de la connexion SystemExit #Test de requete avec exception --> MARCHE PAS ! Une fois qu'on c'est trompé, toute les requetes suivante sont considérer comme fausses ! :( try: requete = str(input("\n--> ")) cursor.execute(requete) except(psycopg2.ProgrammingError, psycopg2.InternalError): # permet d'eviter un crash si la requete SQL est mauvaise : psycopg2.Error print("Erreur, verifier votre requete !") continue results = cursor.fetchall() for r in results: print(r) #---------------------------------------------------#