Salut à tous,

J'ai un soucis avec sqlsoup.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
query1= db.execute('select * from client where nclient = 155')
query2= db.execute('select * from client where nclient = :monclient',monclient=155)
La première requête est exécutée sans soucis. Tandis que pour la seconde
j'obtiens un message d'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
  File "build\bdist.win32\egg\sqlalchemy\ext\sqlsoup.py", line 574, in execute
    return self.session.execute(sql.text(stmt, bind=self.bind), **params)
  File "build\bdist.win32\egg\sqlalchemy\orm\scoping.py", line 114, in do
    return getattr(self.registry(), name)(*args, **kwargs)
  File "build\bdist.win32\egg\sqlalchemy\orm\session.py", line 799, in execute
    bind = self.get_bind(mapper, clause=clause, **kw)
TypeError: get_bind() got an unexpected keyword argument 'nprospect'
Pourtant, d'après la doc, c'est ainsi qu'il faut procéder pour exécuter une requête paramétrée.

Je sais qu'avec sqlalchemy il vaut mieux utiliser l'ORM. Cependant, je souhaite
faire une application qui gère des requêtes sql.

Dès lors, ma question est :
Quelqu'un a-til déjà rencontré ce problème avant moi ? Le cas échéant, il y a a-t-il une solution autre que celle de passer par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
db.connection.cursor
qui est un peu trop dépendante du SGBD pour ce que je souhaite réaliser ?


Merci mille fois par avance pour vos réponses