Si devuelvo un cursor desde unafunción automáticamente se me cierra el cursor

Manel i Elena manelelena en manelelena.com
Vie Oct 15 23:38:11 CEST 2004


Gracias por la idea Rosendo, lo he probado pero sigue pasando lo mismo:

Python 2.3.4 (#2, Sep 24 2004, 08:39:09)
[GCC 3.3.4 (Debian 1:3.3.4-12)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> def func():
...     import psycopg
...     db = psycopg.connect(host="bichejo", user="mcebolla", database="uoc")
...     cursor = db.cursor()
...     return cursor
...
>>> c=func()
>>> c.execute("select 1")
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
psycopg.InterfaceError: already closed
>>>

y con pypgsql  también... estoy intrigado, no sé si esto es normal o una 
limitación de estas librerías.

Saludos, Manel.


El Viernes, 15 de Octubre de 2004 18:18, rosendo escribió:
> No conozco psycopg, pero imagino que será esto:
> def func():
>  import psycopg
>  db = psycopg.connect(host="bichejo", user="mcebolla", database="uoc")
>  cursor = db.cursor()
>  return cursor
>
> Pruebalo y me cuentas
> Un saludo.
> Rosendo.
>
>
> -----Mensaje original-----
> De: python-es-bounces en aditel.org [mailto:python-es-bounces en aditel.org] En
> nombre de Manel i Elena
> Enviado el: viernes, 15 de octubre de 2004 17:09
> Para: python-es en aditel.org
> Asunto: [Python-es] Si devuelvo un cursor desde unafunción automáticamente
> se me cierra el cursor
>
> Si ejecuto el siguiente código
>
> """
> import psycopg
> db = psycopg.connect(host="bichejo", user="mcebolla", database="uoc")
> cursor=db.cursor()
> cursor.executes("select 1")
> """
>
> Tod funciona perfectamente pero si hago esto:
>
> """
> def func():
>  import psycopg
>  db = psycopg.connect(host="bichejo", user="mcebolla", database="uoc")
>  return db.cursor()
>
> cursor=func()
> cursor.executes("select 1")
> """
>
> Entonces me sale el siguiente mensaje de error
>
> """
>   File "<stdin>", line 1, in ?
> psycopg.InterfaceError: already closed
> """
>
> ¿ No se puede devolver un cursor mediante una función ?, si hago esto mismo
> con MySQLdb todo va bien.
>
> Por cierto, he probado exactamente lo mismo con pypgsql  y me pasa lo
> mismo.
>
> ¿ Alguna idea ?.
>
> Manel.
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es

-- 
Saludos de Elena i Manel.
URL: www.manelelena.com




Más información sobre la lista de distribución Python-es