getattr en db.cursor ??
luis miguel morillas
morillas en posta.unizar.es
Mar Mayo 6 22:35:41 CEST 2003
Asunto: Re: [Python-es] getattr en db.cursor ??
Fecha: mar, may 06, 2003 at 03:35:04 +0200
Citando a Diego Chaparro (dchapar.madrid en sinvest.es):
> borillo en aditel.org wrote:
> >Estás intentado acceder a un propiedad de un objeto en Python, cuando lo
> >que quieres (creo yo :) es hacer una consulta al diccionario de datos de
> >Oracle, no ??
> >
> >Si explicas un poco más tu problema y qué pretendes conseguir, te echo una
> >mano encantado.
>
> En realidad lo que quiero hacer es ejecutar un procedimiento de la
> base de datos, y creo que eso ya lo he solucionado con lo siguiente:
>
> db = DCOracle2.connect (user, passwd, database)
> procedure = getattr (db.procedures, nombre_procedimiento)
> procedure (parametros)
>
> Eso creo que ya funciona, pero ahora lo que me gustaría saber es si
> hay alguna forma de capturar la salida estándar de ese procedimiento. ¿Es
> posible?
>
Para llamar a procedimientos puedes utilizar
- cursor.callproc(procedimiento, parámetros) (dbapi)
- cursor.procedure ... (no está en la dbapi)
Tendrás algo de documentación en el paquete dcoracle2
> Gracias,
>
> >> Estoy intentando usar getattr para sacar el nombre de procedimientos
> >>definidos en una base de datos, pero no soy capaz, aunque la verdad es
> >>que no tengo los conceptos muy claros y no sé si será posible lo que
> >>estoy haciendo. Tengo:
> >>
> >> db = DCOracle2.connect (user, passwd, database)
> >> c = db.cursor()
> >> x = getattr (c, nombre_procedimiento)
> >>
> >>Y obtengo lo siguiente:
> >>
> >> Traceback (most recent call last):
> >>
> >> File "Prueba.py", line 32, in Execute
> >> x = getattr (c, nombre_procedimiento)
> >> File "DCOracle2.py", line 406, in __getattr__
> >> AttributeError: procedimiento1
> >>
> >>¿Me he explicado? ¿Se puede hacer lo que quiero? ¿Estoy haciendo alguna
> >>barbaridad?
>
>
>
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
--
I say NO to WAR. Not with my silence. Not with my blessing. Say NO now.
Luis Miguel
Más información sobre la lista de distribución Python-es