При таком коде:
db = QtSql.QSqlDatabase.addDatabase('QMYSQL')
db.setHostName('localhost')
db.setUserName('root')
db.setPassword('1234')
db.setDatabaseName('test')
db.open()
print(db.lastError().text())
В консоль выводится следующие:
python gui.py
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
Driver not loaded Driver not loaded
Библиотеки qsqlite.dll, qsqlmysql.dll, qsqlodbc.dll, qsqlpsql.dll существуют и находятся в папке
C:\Python\Lib\site-packages\PyQt5\Qt\plugins\sqldrivers
Использую Windows 10 x64, Python 3.6.1, PyQt 5.8, MySql 5.7.
Такой вопрос уже был задан здесь, но решение, которое в нем содержится, мою проблему не решило.
Что надо сделать, чтобы установить соединение с базой?
Ответ
Для подключения нужно добавлять в среду переменных в переменную PATH полный путь к /MySQL/lib.
В моем случае полный путь выглядит так:
C:\Program Files (x86)\MySQL\MySQL Server 5.7\lib
Затем перезагрузить или выйти из системы, чтобы это добавление вступило в силу, вот что я и сделал, и в чем состояло решение проблемы.
Комментариев нет:
Отправить комментарий