(sqlalchemy.exc.InvalidRequestError) Can't reconnect until invalid transaction is rolled back
来源:互联网 发布:女包包网淘宝网 编辑:程序博客网 时间:2024/05/20 05:53
在mysql超过wait_timeout后,连接会挂掉,服务就会报错 OperationalError: (_mysql_exceptions.OperationalError) (2006, 'MySQL server has gone away') ,由于也sqlalchemy关闭了autocommit,隐式使用了事务,还会有错误StatementError: (sqlalchemy.exc.InvalidRequestError) Can't reconnect until invalid transaction is rolled back
项目使用web框架,使用sqlalchemy作为orm框架.
错误a:
OperationalError: (_mysql_exceptions.OperationalError) (2006, 'MySQL server has gone away')
错误b:
StatementError: (sqlalchemy.exc.InvalidRequestError) Can't reconnect until invalid transaction is rolled back
错误a是因为mysql的连接到达了wait_timeout, 使用超时的连接就会报错gone away,
错误b是因为连接断开后,事务没有回滚,残留的锁导致后续的查询报错.
解决方案一:打开autocommit
sqlalchemy打开autocommit后, 就会停止使用事务,生成的查询语句立即执行, 防止了错误b.
解决方案二:
在所有访问数据库的地方加异常捕获,报异常时rollback
阅读全文
0 0
- (sqlalchemy.exc.InvalidRequestError) Can't reconnect until invalid transaction is rolled back
- org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back because it has
- org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back because it has
- org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back because it has
- org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back because it has
- org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back because it has
- 博优商业管理系统SQL Anywhere(ASA) 数据库“File is shorter than expected -- transaction rolled back”错误修复
- UnexpectedRollbackException: Transaction rolled back because it has been mar
- ORA-06519 active autonomous transaction detected and rolled back
- sqlalchemy.exc.OperationalError
- flask sqlalchemy 更改数据表中的数据报错InvalidRequestError: Object '<User at 0x423b550>' is already attached to
- Transaction rolled back because it has been marked as rollback-only
- spring事务 Transaction rolled back because it has been marked as rollback-only
- Transaction has been rolled back because it has been marked as rollback
- Transaction rolled back because it has been marked as rollback-only
- Transaction rolled back because it has been marked as rollback-only
- Transaction rolled back because it has been marked as rollback-only
- Transaction rolled back because it has been marked as rollback-only
- c++ 笔记
- 快速排序
- 设计模式番外篇
- C++学习笔记十二之函数重载
- CodeForces
- (sqlalchemy.exc.InvalidRequestError) Can't reconnect until invalid transaction is rolled back
- 荷兰国旗
- Volatile和Synchronized对可见性和原子性的支持
- linux学习总结 unit06进程管理
- 原型模式
- java自定义Exception
- Android零基础入门第14节:使用高速Genymotion,跨入火箭时代
- How Many Tables
- 2_Add Two Numbers