我试图使用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
我也是通过下一个方式创建engene:
sqlalchemy.create_engine(connection_string, poolclass = NullPool)
但我总是收到错误:
详细编程错误:(编程错误)(' 42000',' [42000] [Microsoft] [ODBC SQL Server驱动程序] [SQL Server]无法删除数据库 " TEST_DB"因为它目前正在使用中。 (3702)(SQLExecDirectW)') ' drop database test_db' ()
如何强行关闭所有连接?
答案 0 :(得分:3)
The current method 用于关闭所有使用 SQLAlchemy 会话 api 的连接是
from sqlalchemy.orm import close_all_sessions
close_all_sessions()
因为 session.close_all()
已被弃用。