En utilisant Python 2.7.12 et le paquet cx_Oracle
J'essaie de créer une classe étendue de ce que le paquet appelle OracleCursor. Je veux simplement hériter des méthodes de la superclasse et étendre avec certaines méthodes personnalisées.Comment étendre la classe OracleCursor à partir de cx_Oracle
D'abord j'obtenir le OracleCursor
par
import cx_Oracle
conn = cx_Oracle.connect(username, password, dsn)
cursor = conn.cursor()
et j'ai alors le suivant
>>> type(cursor)Out[6]:
OracleCursor
>>> isinstance(cursor, cx_Oracle.Cursor)
True
On pourrait penser qu'il est atteint par
class ExtendedCursor(cx_Oracle.Cursor):
def hello_world(self):
print('Hello world')
extended = ExtendedCursor(cursor)
mais je reçois TypeError: argument 1 must be cx_Oracle.Connection, not OracleCursor
. Pour moi, cette erreur n'a pas de sens. En outre, je ne peux pas utiliser OracleCursor
en tant que ma super-classe, car il n'est pas reconnu comme une classe.