Re: Problemas con la abstracción del acceso a MySQL, desde XP y Linux

Mauro Sánchez mauroka en gmail.com
Jue Jun 9 20:26:55 CEST 2005


Coincido con Marcos. Incluso en la sentencia try pondría únicamente las 
líneas de que código que pueden llegar a lanzar un excepción, por ej:
try:
conn = adodb.NewADOConnection('mysql')
conn.Connect('ip','user','pass','db')
no lo pondría así sino:
conn = adodb.NewADOConnection('mysql')
try:
conn.Connect('ip','user','pass','db')
no sé si se entiende.

El día 9/06/05, Marcos Sánchez Provencio <rapto en arrakis.es> escribió:
> 
> Como regla general, las sentencias try: except: vacías (es decir, que no
> especifican qué excepción capturan) suelen fastidiar bastante,
> especialmente en las fases de prueba, ya que enmascaran los errores
> reales. Intenta no capturar las excepciones desconocidas hasta que lo
> tengas todo funcionando. Dicho esto, para que contestemos hace falta un
> volcado del error. Si no, cualquiera te va a decir 'Conecta el cable de
> red'.
> 
> On mié, 2005-06-08 at 15:17 +0100, lcabrera_[spa] wrote:
> > Ante todo un saludo, ya que este es mi primer correo a esta lista, creo 
> ;)
> >
> > Estaba haciendo una prueba de concepto sobre el acceso a base de datos y
> > me he encontrado con el siguiente problema:
> >
> > Con el mismo código, en dos máquinas diferentes, una con linux y otra
> > con XP, la primera conecta a MySQL y la segunda no.
> >
> > Ambas máquinas están autorizadas a acceder a mysql, y de hecho acceden
> > desde otros programas.
> >
> > Después de las pruebas que he realizado hasta ahora, creo que el
> > problema va a residir en las versiones de python que estoy utilizando:
> >
> > XP: 2.4.1 (#65, Mar 30 2005, 09:13:57) [MSC v.1310 32 bit (Intel)]
> > Linux: 2.3.5 (#2, May 29 2005, 00:34:43)
> >
> > El código que utilizo es el siguiente (la parte conflictiva):
> >
> >
> > [...]
> >
> > import adodb ## Capa de abstracción (adodb.sf.net <http://adodb.sf.net>)
> >
> >
> > def conectarBD():
> > """Rutina de conexión a la BBDD"""
> >
> > try:
> > conn = adodb.NewADOConnection('mysql')
> > conn.Connect('ip','user','pass','db')
> > return conn
> > except:
> > print "Error en la conexión a la Base de Datos en 'conectarBD()'"
> > return -1
> >
> >
> > def buscarDatosPorNombre():
> > """Realiza una búsqueda por el nombre o los apellidos."""
> > limpiarPantalla()
> > db = conectarBD()
> > if (db != -1):
> > try:
> > sql = datosABuscar()
> > ejecutaSQL(sql,db)
> > return 1
> > except:
> > try:
> > db.close()
> > except:
> > pass
> > return -2
> > else:
> > return -1
> >
> > [...]
> >
> >
> >
> > Cualquier pista para depurar el error se agradecerá ;)
> >
> > _______________________________________________
> > Python-es mailing list
> > Python-es en aditel.org
> > http://listas.aditel.org/listinfo/python-es
> 
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
>




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