Python sqlalchemy关闭所有连接
我正在尝试使用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
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()一起使用的为我实现了这一目标。