mysqldb y error de conexion

Ayose setepo en gulic.org
Dom Oct 12 12:23:52 CEST 2003


On Sun, Oct 12, 2003 at 11:25:14AM +0200, Horacio Degiorgi wrote:
> estoy haciendo algo con el modulo mysqldb y tengo el siguiente problema
> este es el codigo
> 
> try:
>                     db = MySQLdb.connect(host=self.host, 
> user=self.user, passwd=self.password,db=self.dba, compress=1)
> 
> except:
>                     merror = db.error()
> 
> en caso de tener correctos los password, usuario, host y database todo 
> funciona correctamente. Pero en caso de error en alguno de los datos de 
> conexion el tema pasa a except donde me gustaria recuperar el error de 
> la conexion . El tema es que el objeto db. no existe y por ello no tiene 
> la funcion error()
> como puedo recuperar el codigo de error y mensaje correspondiente ?

Con las excepciones que se producen. Por ejemplo

 >>> from MySQLdb.constants.ER import ACCESS_DENIED_ERROR
 >>> try:
 ...     MySQLdb.connect(user='noexiste')
 ... except MySQLdb.OperationalError, e:
 ...     if e[0] == ACCESS_DENIED_ERROR:
 ...         print 'Acceso denegado:', e[1]
 ... 
 Acceso denegado: Access denied for user: 'noexiste en localhost' (Using password: NO)
 >>> 


-- 
Ayose Cazorla León
Debian GNU/Linux - setepo




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