bonjour voici un extrait de code contenant
une requete oracle
cette reqûete fonctionne lorsque je la teste sur oracle et pose probléme sur python.

Comptebn_spec("val1","Test","TTE")

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
 
    def Comptebn_spec(self,var_cle,var_B,var_C):
 
        ref_DTCLOT= None
        connection = cx_Oracle.connect(self.idconnection) #Connexion
        curseur = connection.cursor()
        try:
            curseur.execute("""SELECT   cle ,zone_B, zone_I,
                                 zone_N, zone_C  ,DTCLOT
                    FROM INFO 
                    WHERE  
                    ORG = 30 
                    AND DTCLOT is not null  
                    and cle = :id_cle
                    and zone_B = :id_B
                    and zone_C   = :id_C;
                    """,
                        id_cle = var_cle,
                        id_B = var_B ,
                        id_C = var_C,
                      )
        except cx_Oracle.DatabaseError as exc:
               error, = exc.args
               print("Code:     ", error.code, file=sys.stderr)
               # print("Offset    ", error.offset, file=sys.stderr)
               #                           ^^^^^^
               # position de l'erreur dans la requête.
               # sans signification ici
               print("Message   ", error.message.strip(), file=sys.stderr)
               #                                 ^^^^^^^
               #                       élimine la "fin de ligne" (EOL)
               print("Context   ", error.context, file=sys.stderr)
               cx_Oracle.DatabaseError
        finally:
            for   ref_CLE, ref_b ,ref_i , ref_n , ref_c , ref_DTCLOT in curseur:
                return ref_DTCLOT
 
            curseur.close() 
        # 6) fermer la connexion au serveur
        connection.close()       
        return ref_DTCLOT
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
 
resultat = Comptebn_spec("val1","Test","TTE")

Erreur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
Code:      933
Message    ORA-00933: la commande SQL ne se termine pas correctement
Context    dpiStmt_execute: execute
Traceback (most recent call last):
 
  for   ref_CLE, ref_b ,ref_i , ref_n , ref_c , ref_DTCLOT in curseur:
cx_Oracle.InterfaceError: not a query
Est-il possible de récuperer la requête exécuter par une commande ?