2012-02-28 47 views
1

如何在sqlalchemy池配置中设置隔离级别。我收到以下错误,当我尝试将其设置为在create_engine(...)paramaetermysql sqlalchemy mysql隔离错误

File "build/bdist.linux-i686/egg/sqlalchemy/engine/__init__.py", line 321, in create_engine 
File "build/bdist.linux-i686/egg/sqlalchemy/engine/strategies.py", line 141, in create 
TypeError: Invalid argument(s) 'isolation_level' sent to create_engine(), using configuration 
MySQLDialect_mysqldb/QueuePool/Engine 
+0

请您提供一些代码来创建错误。因为'isolation_level'不适用于所有数据库。 – Nilesh 2012-02-29 05:00:24

回答

0

“ISOLATION_LEVEL”参数作为参数之一传递给create_engine方法

迈克尔·拜尔说在SQLAlchemy的论坛:这是开发版本。的时刻,你可以得到这样的:hg.sqlalchemy.org/sqlalchemy/archive/default.tar.gz

这解决了问题。

1

哪个SQLAlchemy的版本你有,因为MySQL的这个功能在0.7.6增加。

1

像解释in this answer,您可以通过直接发出SQL命令来设置隔离级别达到相同的结果。在SQL Server的情况下,您可以这样做:

query = 'SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED' 
session.connection().connection.execute(query)