Error con Mysql..

Ariel Nardelli pan_python en yahoo.com.ar
Mie Ago 23 02:40:07 CEST 2006


Hola Chema y a la lista!

Te cuento que ahora tengo mas datos...

Si yo intento directamente ejecutar desde la linea de comandos me pasa 
esto...

Python 2.3.5 (#2, Jul 30 2006, 15:57:01)
[GCC 4.1.2 20060715 (prerelease) (Debian 4.1.1-9)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
 >>> import sys,MySQLdb
 >>> conn = MySQLdb.connect(host="sql1",user="XXX",passwd="XXX",db="lukas")
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "/usr/lib/python2.3/site-packages/MySQLdb/__init__.py", line 75, 
in Conne                                   ct
    return Connection(*args, **kwargs)
  File "/usr/lib/python2.3/site-packages/MySQLdb/connections.py", line 
207, in _                                   _init__
    self.autocommit(False)
_mysql_exceptions.ProgrammingError: (2014, "Commands out of sync; you 
can't run                                    this command now")
 >>>


O sea ya me larga error en el mismo momento que intento abrir la 
coneccion en el connect...
Al motor de bases de datos accedo sin problemas desde otras maquinas con 
python (que no esta actualizado) pero desde esta que esta en mi casa y 
la de la empresa desde ninguna de las dos no puedo acceder directamente 
y me larga en los dos el mismo error y por supesto las dos estan con 
debian etch actualizada mientras que las demas no estan con las ultimas 
actualizaciones, asi que ya me estoy empezando a inclinar y a pensar que 
es un error de la libreria mysqldb ...

Ahora bien, que otra alternativa tengo para usar otro conector???

POR SUERTE mis rutinas son unicas para todo el sistema o sea tengo en 
una sola rutina el aceso a las bases de datos, tengo algo asi...

# lee y devuelve datos con registros multiples!!
#
def sql02(db,sql,k):
    """ Leen en mysql y devuelve varios registros """
    try:
        if k == 'NULL': # Es cuando no viene los datos del sql aparte.
            db.execute(sql)
        else:
            db.execute(sql,k)
        resultado = db.fetchall()
        return resultado
    except db.MySQLError, e:
        linea = "** Mysqlerror : " + str(e[0])
        gl(linea)
        print linea
        linea = "* Mysqlerror : " + e[1]
        gl(linea)
        print linea
        return None

Esto me facilitaria terriblemente pasarme a otro conector, pero cual??? 
no se, la otra es esperar un par de dias a ver si se soluciona pero 
estos dos dias tengo todo medio parado porque no puedo trabajar....

Alguna idea??

GRACIAS!

ARiel

Chema Cortes wrote:
> El 22/08/06, Ariel Nardelli<pan_python en yahoo.com.ar> escribió:
>> Desde hace un par de dias vengo con un problema en mi coneccion a mysql
>> desde python.
>> Estoy utilizando debian etch que usa python 2.3.5 y uso para acceder el
>> mysqldb la version Version: 1.2.1-p2-2 que es la que viene con etch.
>>
>> La cosa es que cuando ejecuto me sale este error...
>> /usr/bin/python -u  "/mnt/python/lukas/lukas.py"
>> 2014
>> ** Mysqlerror : 2014
>> * Mysqlerror : Commands out of sync; you can't run this command now
>>
>> y ahi quedo sin poder correr el sistema....
>> A Alguien le esta pasando lo mismo??? es bastante urgente el tema porque
>> estoy sin poder correr los sistemas en este momento :(
>
> El error está definido en el manual de desarrollador de mysql:
>
> http://mysql.com/doc/refman/5.0/es/commands-out-of-sync.html
>
> Es algo así como si estuvieras ejecutando un query antes de que haya
> acabado la anterior. Prueba a cerrar y a reabrir el cursor entre las
> dos peticiones. Si no va por ahí el problema, tal vez podría ser un
> bug del conector python.
> _______________________________________________
> 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