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