Python sqlalchemy关闭所有连接

Python sqlalchemy关闭所有连接,python,sqlalchemy,Python,Sqlalchemy,我正在尝试使用sqlalchemy删除我的数据库: def dropDb(self, dbName): self.closeConnection() self.selectDb(None) self.execute("drop database %s" % dbName) def closeConnection(self): self._Session.close_all() self._engine.dispose() de

我正在尝试使用sqlalchemy删除我的数据库:

def dropDb(self, dbName):
    self.closeConnection()
    self.selectDb(None)
    self.execute("drop database %s" % dbName)

def closeConnection(self):
    self._Session.close_all()
    self._engine.dispose()
    del self._Session
    del self._engine
我使用以下方法创建引擎:

sqlalchemy.create_engine(connection_string, poolclass = NullPool)
但我得到了以下错误:

详细编程错误:(编程错误)('42000','[42000] [Microsoft][ODBC SQL Server驱动程序][SQL Server]无法删除数据库 “test_db”,因为它当前正在使用。(3702)(SQLExecDirectW)“” “drop database test_db”()

如何强制关闭所有连接?

使用SQLAlchemy会话api关闭所有连接

from sqlalchemy.orm import close_all_sessions

close_all_sessions()

as
session.close\u all()
已被弃用。

我相信答案正是您所需要的。我有一个类似的问题,解决我的问题的是添加
session.close\u all()
我在您的问题中看到了!与
engine.dispose()一起使用的
为我实现了这一目标。