【发布时间】:2009-12-07 15:20:10
【问题描述】:
由于“我无法控制的情况”tm,我正在使用带有 MS Access 后端的 sqlalchemy。我遇到以下代码的问题:
def delete_imports(self, files_imported_uid):
table_name = 'my_table'
delete_raw = self.meta.tables[table_name].delete()
self.engine.execute(delete_raw.where(
self.meta.tables[table_name].c.files_imported_uid == files_imported_uid)
)
抛出“超出文件共享锁定计数”。大表错误。生成的语句只是:
DELETE FROM my_table WHERE my_table.files_imported_uid = ?
带参数的uid。然后通过 pyodbc 执行该语句。 MSDN provided 一些解决该问题的建议,然后通知我如果数据库位于 Novell NetWare 服务器上,它们将无法工作。
是否有我可以使用的已知解决方法(最好在 sqlalchemy 层),或者我是否需要创建一些丑陋的 hack,一次选择前 9,000 条记录进行删除并循环直到完成?
【问题讨论】:
-
很遗憾,我不在 IT 部门,因此无法控制网络共享设置。
标签: ms-access sqlalchemy pyodbc