On 16/01/2014 10:51, piergiorgio pancino wrote:
Ciao,
volevo sapere se esiste una best practice per quanto riguarda
l'esecuzione delle query e l'uso dell'oggetto cursor.
Per contestualizzare un po' di più ho una classe che in fase di __init__
si collega al database, all'interno della classe una serie di funzioni
che fanno delle query.
Attualmente __init__ crea una istanza di cursor che viene riutilizzata
per tutte le query.

self.conn = pyodbc.connect(self.DSN,autocommit=False)
self.conn=conn
self.cur=conn.cursor()
(sono omessi i controlli vari)

questo modo di fare è secondo voi corretto o è meglio ad ogni query
creare e poi richiudere un nuovo cursor ?


Ciao.
Innanzitutto prova a leggere la PEP 249:
www.python.org/dev/peps/pep-0249/

Al momento non ricordo, ma dovrebbe dare delle indicazioni riguardo l'utilizzo.

Infine, ti può essere utile sapere *come* i cursori sono utilizzati in SQL:
http://www.postgresql.org/docs/9.3/interactive/ecpg-commands.html#ECPG-CURSORS

Come vedi è abbastanza diverso da come viene fatto nella DBAPI; un cursore viene creato per una query specifica, ed una sola.


Ciao  Manlio
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a