Я открываю QSqlDatabase и загружаю параметр с помощью db.set [имя параметра], Ошибка подключения -db.open () и при проверке значения db.parameter возвращает пустую строку.Та же самая форма, используемая в других клиентских программах, работает отлично .... sic
Я загружаю параметры из файла конфигурации.Я попытался загрузить их вручную как db.setUserName ('someuser') с тем же результатом.Отладка, при проверке db.userName () я получил str ''.Естественно, ДБ не открывать.Это может быть связано с окружающей средой, когда база данных открыта?
@pyqtSlot()
def connectionTest(self):
self.lblTestResult.setText("Connecting to MYSQL server........")
self.lblTestResult.setStyleSheet("QLabel{background-color: yellow; color: black}")
testMessage = "Connection Failed"
self.con_string = self.read_db_config()
try:
db = QSqlDatabase.addDatabase("QMYSQL")
db.setHostName(self.con_string['host'])
db.setUserName(self.con_string['user'])
db.setDatabaseName(self.con_string['database'])
db.setPassword(self.con_string['password'])
ok = db.open()
if ok:
testMessage = "Connection Succeeded"
self.state = True
self.lblTestResult.setStyleSheet("QLabel{background-color: green; color: white}")
else:
self.lblTestResult.setStyleSheet("QLabel{background-color: red; color: white}")
self.lblTestResult.setText(testMessage)
except Exception as err:
self.lblTestResult.setText(err)
finally:
Я ожидаю загрузки параметров и успешного открытия БД.Я уже некоторое время занимаюсь этой проблемой, не находя никакой информации о происходящем.Примечание: я использую Exception для преодоления приятной обработки исключений PyQt5 при завершении работы программы.