【发布时间】:2020-02-26 14:15:21
【问题描述】:
我在使用 Python 3.7 PyQt5 QtSql 时遇到问题。我正在尝试连接多个 MSSQL 数据库,但不知道该怎么做。
我有以下功能要连接:
from PyQt5 import QtSql
def connectDb(database_name):
SERVER_NAME = 'COMPUTER\\SQLEXPRESS'
DATABASE_NAME = database_name
connString = f'DRIVER={{SQL Server}};'\
f'SERVER={SERVER_NAME};'\
f'DATABASE={DATABASE_NAME}'
db = QtSql.QSqlDatabase.addDatabase("QODBC")
db.setDatabaseName(connString)
if not db.open():
print(db.lastError().text())
return db
要连接到数据库:
db1 = connectDb("Database1")
db2 = connectDb("Database2")
但是,当尝试连接到第二个数据库时,我收到以下消息:
QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' is still in use, all queries will cease to work.
QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.
我想要保持多个数据库打开的原因是每次我需要在我的代码中查询不同的数据库时保持打开和关闭数据库连接太慢了。我宁愿让它们全部打开并在程序退出时关闭它们。
【问题讨论】:
标签: python sql-server pyqt pyqt5 qtsql