与SQLAlchemy的开发人员联系后,出现了解决此问题的方法。非常感谢他们的出色工作!
必须使用一个游标执行事件,并检查该
executemany标志是否已升高。如果确实如此,请打开该
fast_executemany选项。例如:
from sqlalchemy import event@event.listens_for(engine, 'before_cursor_execute')def receive_before_cursor_execute(conn, cursor, statement, params, context, executemany): if executemany: cursor.fast_executemany = True
有关执行事件的更多信息,请参见此处。
更新: SQLAlchemy
1.3.0中添加了对
fast_executemanyof的支持,因此不再需要这种技巧。
pyodbc



