getattr en db.cursor ??

Diego Chaparro dchapar.madrid en sinvest.es
Mar Mayo 6 15:35:04 CEST 2003


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?

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?




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