SQLAlchemy关闭所有连接。

9 浏览
0 Comments

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()
    del self._Session
    del self._engine

我使用以下代码创建引擎:

sqlalchemy.create_engine(connection_string, poolclass = NullPool)

但是我遇到了以下错误:

详细的ProgrammingError: (ProgrammingError) (\'42000\', \'[42000]

[Microsoft][ODBC SQL Server Driver][SQL Server]无法删除数据库“test_db”,因为它当前正在使用中。 (3702)(SQLExecDirectW)\')

\'drop database test_db\' ()

我怎样可以强制关闭所有连接?

admin 更改状态以发布 2023年5月20日
0
0 Comments

使用SQLAlchemy会话API关闭所有连接的当前方法是close_all_sessions()

from sqlalchemy.orm import close_all_sessions
close_all_sessions()

因为session.close_all()已被弃用。

0