Io apro una connessione e relativo cursore ad ogni transazione. Se la transazione prevede l'utilizzo di varie funzioni, passo la connessione, o il cursore, alle funzioni.
>From Marco with Cinafonino ;-) On Jan 16, 2014 11:31 AM, "Manlio Perillo" <manlio.peri...@gmail.com> wrote: > 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 >
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python