when the DBAPI cursor has no .description object, it is determined to not be a 
result-row returning object.   The MySQLDB DBAPI has been observed to 
occasionally have issues in this area, when a connection gets into a bad state. 
There are likely patterns in how you're calling it that lead it to have this 
issue but you might try a different DBAPI like mysql-connector-python just to 
see what's different.




On Mar 27, 2014, at 7:41 AM, Ni Wesley <nisp...@gmail.com> wrote:

> Hi all,
>   Today I get an error as title.
> I use sqlalchemy + mysql.
> Here is my code snippet:
> def dbquery(_table,whereclause):
> 
>     try:
> 
>         #_table=Table(tablename, metadata, autoload=True)
> 
>         #_table = tables[tablename]
> 
>         i=_table.select().where(whereclause) 
> 
>         if direct_engine:  #direct_engine is True
> 
>             res = engine.execute(i)
> 
>             return res
> 
>         else:
> 
>             session = scoped_session(sessionmaker(bind=engine))
> 
>             res = session.execute(i)
> 
>             return res
> 
>             session.close()
> 
>     except Exception,e:
> 
>         #dba_logger.log(40,'Exception when dbwriter:%s' % str(e))
> 
>         #dba_logger.log(20,'Exception detail:%s' % str(kwargs))
> 
>         exctrace('db','1','Error happened when querying 
> db',dba_logger,'Exception when dbquery:%s' % str(e),'Exception detail:%s' % 
> str(whereclause))
> 
>         #session.rollback()
> 
>         if not direct_engine:
> 
>             session.close()
> 
> Here is snippet in another file involving dbquery:
> 
> try:
> 
>      res = 
> dbquery(tables['sessions_details'],whereclause=and_(tables['sessions_details'].c.app_key==self.app_key,tables['sessions_details'].c.device_token==self._devicetoken))
> 
> except Exception,e:
> 
>     exctrace('db','1','Error happened when querying db',dba_logger,'Exception 
> when query session_details:%s' % str(e),'Exception detail:appkey is 
> %s,devicetoken is %s' % (self.app_key,self._devicetoken))
> 
>     self.read_message()
> 
>     return   
> 
> if res is None:
> 
>    logger.log(40,'When query connection,mysql has gone or something, just 
> skip db and go-on')
> 
>                         #here need to justify 0 or 1, later on
> 
>                         self.status='0'
> 
>                         self.read_message()
> 
>                         return
> 
> if res.first() is None:
> 
>    if json_obj['action'] == 'reg':
> 
> So, the line in pink above raises the exception.
> 
> Could anyone give some suggestion how this happened?
> 
> 
> 
> Thanks.
> 
> Wesley
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "sqlalchemy" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to sqlalchemy+unsubscr...@googlegroups.com.
> To post to this group, send email to sqlalchemy@googlegroups.com.
> Visit this group at http://groups.google.com/group/sqlalchemy.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to