Bonjour à tous,


Je débute en postgresSQL et en Python. J'espère être au bon endroit sur le forum et également pour trouver du support
Je voudrais savoir pourquoi j'obtiens l'erreur suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
 
Connexion établie avec succès vers Base de données 2: basedonnées2
Traceback (most recent call last):
  File "C:/Users/.../PycharmProjects/.../database_sqlsrv.py", line 62, in <module>
    cursor2.execute(req2)
psycopg2.ProgrammingError: ERREUR:  la relation « test » n'existe pas
LINE 1: SELECT * from test
                      ^
 
 
Process finished with exit code 1
Je poste ici parceque je pense qu'il s'agit d'une erreur Postgresql mais que les chevronés python pourront certainement me renseigner.


Voici mon environnement:
OS Windows 8
PostgreSQL 9.5.8
Pgadmin 3
Python 3.7.1 et PyCharm 2018.3
+ Psycopg2 pour Interconnexion de Python et PostgreSQL


Donc,
Je tente d'établir deux connexions distinctes (avec des paramètres distincts mais exactement le même code) sur deux bases de données du même serveur depuis Python (en utilisant Pycharm) via le script ci-dessous.
L'une des connexions s'établie sans souci, mais l'autre non.

le message d'erreur indique :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
psycopg2.ProgrammingError: ERREUR:  la relation « test » n'existe pas
LINE 1: SELECT * from test
Le fait est qie j'obtien exactement le même message d'erreur avec pgAdmin 3, si je vais dans l'interpréteur SQL pour la BD à problème (sauf si j'utilise le créateur de requête graphique), et ce n'est pas le cas sur la VB qui ne pose pas de pb...

Voici le code Python


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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
 
import psycopg2
 
###########################################################
################ CONNEXION A 1 ERE BD = OK      ###########
###########################################################
# Credentials 1:
Server_postgres = ("localhost")
Port = 5432
Login = 'openpg'
Password = 'Password123'
dbname = "basedonnée1"
TableTest1 = "djangotable"
 
# CONNEXION A LA BD 1
connect = psycopg2.connect(database=dbname, user=Login, password=Password)
if connect:
    cursor = connect.cursor()
    print(" \nConnexion établie avec succès vers Base de données 1 : ", dbname)
 
# Requete SQL
req = ('SELECT * from {}'.format(TableTest1))
 
# Exécution de la requête
cursor.execute(req)
 
# Sortie à l'écran
print(" ######   Résultat de la Requête 1 :     #######")
data = cursor.fetchall()
for entry in data:
    print(entry)
 
# Fermeture de la connexion
cursor.close()
connect.close
 
print("###############################################")
print("\n\n----------------------------------------------------")
print("\n\n")
 
 
###########################################################
################ CONNEXION A 2 EME BD = ECHEC   ###########
###########################################################
# Credentials 1:
Server_postgres = ("localhost")
Port2 = 5432
Login2 = 'openpg'
Password2 = 'Password123'
dbname2 = "basedonnée2"
TableTest2 = "test"
 
# CONNEXION A LA BD
connect2 = psycopg2.connect(database=dbname2, user=Login2, password=Password2)
if connect:
    cursor2 = connect2.cursor()
    print(" \nConnexion établie avec succès vers Base de données 2:", dbname2)
 
# Requete SQL
req2 = ('SELECT * from {}'.format(TableTest2))
 
# Exécution de la requête
cursor2.execute(req2)
 
# Sortie à l'écran
print(" ######   Résultat de la Requête 2 :     #######")
data2 = cursor2.fetchall()
for entry2 in data2:
    print(entry2)
 
print("###############################################")
print("\n\n----------------------------------------------------")
print("\n\n")
 
# Fermeture de la connexion
cursor2.close()
connect2.close

et voici le log sur la console Python:

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
 
 
"C:\....\venv\Scripts\python.exe" "C:/Users/.../PycharmProjects/.../database_postgresql.py"
 
Connexion établie avec succès vers Base de données 1 :  djangodb
 ######   Résultat de la Requête 1 :     #######
(1, 'Toto')
(2, 'Tata')
(3, 'Titi')
###############################################
 
 
----------------------------------------------------
 
 
 
 
Connexion établie avec succès vers Base de données 2: basedonnées2
Traceback (most recent call last):
  File "C:/Users/.../PycharmProjects/.../database_sqlsrv.py", line 62, in <module>
    cursor2.execute(req2)
psycopg2.ProgrammingError: ERREUR:  la relation « test » n'existe pas
LINE 1: SELECT * from test
                      ^
 
 
Process finished with exit code 1
sur postgressSQL (via pgAdmin 3) l'erreur apparait come suit:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
ERREUR:  la relation « test » n'existe pas
LINE 1: select * from test
                      ^
********** Erreur **********
 
ERREUR: la relation « test » n'existe pas
État SQL :42P01
Caractère : 15
Merci pour votre aide.