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

Marcos Sánchez Provencio rapto en arrakis.es
Jue Jun 9 20:07:33 CEST 2005


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)
> 
> 
>         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




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