У меня проблема с Python 3.7 PyQt5 Qt Sql. Я пытаюсь подключить несколько баз данных MS SQL, но не могу понять, как это сделать.
У меня есть следующая функция для подключения:
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.
Причина, по которой я хочу, чтобы несколько баз данных были открыты, заключается в том, что слишком медленно открывать и закрывать соединения с базой данных каждый раз, когда мне нужно запросить другую базу данных в моем коде. Я бы предпочел оставить их открытыми и закрыть при выходе из программы.