Platform/QT QT5 MySQL57 Driver 설치
  • 728x90
    반응형

     

     

     

    QT5 MySQL57 Driver 설치

     

    for Windows 10


     

     

    QMySQL Driver 확인

    QT에 QMYSQL 이 있는지 아래와 같은 코드로 확인 한다.

     

    qDebug() << QSqlDatabase::drivers();

     

    코드를 빌드 하면 아래와 같이 사용가능한 Driver 네임을 확인 할 수 있다.

     

     

    MySQL Driver 빌드

     

    MySQL :: Download MySQL Community Server

    Select Operating System: Select Operating System… Microsoft Windows Debian Linux Ubuntu Linux SUSE Linux Enterprise Server Red Hat Enterprise Linux / Oracle Linux Linux - Generic Oracle Solaris Source Code Select OS Version: All Windows (x86, 32-bit) Win

    dev.mysql.com

     

    QT5 설치시에 Source 항목을 함께 설치하여야 Driver 생성 프로젝트가 지원된다.

    프로젝트 경로는 아래와 같다.

    C:\Qt\.5.8\Src\qtbase\src\plugins\sqldrivers\mysql

     

     

    위 와 같은 mysql.pro 프로젝트 파일을 QT Creator 에 오픈한다.

    아래와 같이 .pro 파일에 MySQL이 설치된 폴더의 INCLUDE 및 LIB 파일 경로를 추가 후 빌드한다.

     

     

    빌드 후 결과물로 생성된 파일의 경로는 아래와 같다.

    C:\plugins\sqldrivers

     

    위와 같은 경로에 생성된 파일은 아래와 같다.

     

     

     

    MySQL Driver 설치

     생성된 .dll 파일을 실행파일 위치로 복사하여 사용한다.

     

    아래의 경로의 libmysql.dlllibmysql.lib파일도 실행파일 위치 또는 C:\Qt\Tools\mingw530_32\bin위치에 복사하여 사용한다.

     

    C:\MySQL\lib

     

     

    MySQL Connect Test

    테스트용 프로젝트의 .pro 파일에 아래와 같이 sql 을 추가한다.

     

     

    아래 코드를 사용하여 MySQL Database 접속 테스트를 진행한다.

    #include "mainwindow.h"
    #include <QApplication>
    #include <QtSQL>
     
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        MainWindow w;
        w.show();
    
        qDebug() << QSqlDatabase::drivers();
    
        QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    
        db.setHostName("localhost");
        db.setPort(3306);
        db.setDatabaseName("sys");
        db.setUserName("root");
        db.setPassword("xxxxx");
    
        if (!db.open()) {
            qDebug() << "error connect" << db.lastError().text();
        }
        else {
            qDebug("Connected");
        }
    
        return a.exec();
    }

     

    결과 log

     

    위 와 같은 Driver 설치 과정이 없으면, QSqlDatabase::addDatabase() 함수를 호출할 경우 아래와 같은 QMYSQL driver not loaded 라는 메시지를 확인할 수 있다.

     

     

     

     

     

     

    728x90
    반응형

    'Platform > QT' 카테고리의 다른 글

    QT QCalendarWidget StyleSheet 설정  (0) 2017.10.19
    QT Modal & Modeless  (0) 2017.09.18
    QT Creator Kit Selection 설정  (0) 2016.09.26
    QT TCP/IP Client 프로그램  (2) 2016.09.26
    QT 기초 (Qt 특징/ Qt 설치/hello Qt)  (0) 2016.09.26
상단으로