2012-02-28 65 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)