Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 24, 2017 04:08:01

fised
Зарегистрирован: 2014-10-28
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

MySQL driver not loaded

Использую PyQt v 5.4.
Встала задача работы с базой данных, а точнее с MySql. Открыв пару ссылок гугла понял как работать за базами данных, но не смог приконектиться к бд.

Есть следующий пример:

 from PyQt5.QtWidgets import QApplication
from PyQt5 import QtSql
import sys
app = QApplication(sys.argv)
print(QtSql.QSqlDatabase.drivers())
db = QtSql.QSqlDatabase.addDatabase("QMYSQL")
db.setHostName("localhost")
db.setDatabaseName("shop")
db.setUserName("root")
db.setPassword("admin")
print(db.open())
print(db.lastError().text())

Вывод первого принта:
'QSQLITE', ‘QMYSQL’, ‘QMYSQL3’, ‘QODBC’, ‘QODBC3’, ‘QPSQL’, ‘QPSQL7’
Драйвера видит.

Вывод второго и третьего принтов:
False
Driver not loaded Driver not loaded
Драйвер не грузит.

В чем проблема так и не смог разобраться, даже гугл не помог, либо я не туда смотрел. Прошу помочь.

Отредактировано fised (Янв. 24, 2017 04:10:10)

Офлайн

#2 Янв. 24, 2017 04:20:13

fised
Зарегистрирован: 2014-10-28
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

MySQL driver not loaded

Попробовал изменить на:

 from PyQt5.QtWidgets import QApplication
from PyQt5 import QtSql
import sys
app = QApplication(sys.argv)
print(QtSql.QSqlDatabase.drivers())
db = QtSql.QSqlDatabase.addDatabase("QODBC")
db.setDatabaseName('DRIVER={SQL Server};SERVER=%s;DATABASE=%s;UID=%s;PWD=%s;' % ("localhost", "shop", "root", "admin"))
print(db.open())
print(db.lastError().text())

Вывод такой:
'QSQLITE', ‘QMYSQL’, ‘QMYSQL3’, ‘QODBC’, ‘QODBC3’, ‘QPSQL’, ‘QPSQL7’
False
Microsoft | ODBC SQL Server Driver | DBNETLIB | SQL Server не существует, или доступ запрещен. Microsoft | ODBC SQL Server Driver | DBNETLIB | ConnectionOpen (Connect()). QODBC3: Unable to connect

Отредактировано fised (Янв. 24, 2017 04:21:33)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version