커뮤니티 | 큐티/임베디드/큐토피아 | PODO | SDL | 마이크로윈도우 | 리눅스프로그래밍 | 기타 | 포인트순위 | 최근게시물최근게시물 RSS  
korone.net에 다루었으면 하는것은요?
 
 
 
 
 
152
1,062
3,878
3,768,825
  현재접속자 : 46 (회원 0)






배너 신청 문의

 
작성일 : 09-08-06 18:16
[QT/Win32] 원도우 환경에서 QT4.5에서 MySQL 5.x 연결을 위한 MySQL Driver 추가 및 테스트 방법
 글쓴이 : ok
조회 : 9,432   추천 : 0  
여기서 많은 정보를 얻어서 참 감사합니다. 저도 뭔가 도움이 될까해서 자료 올립니다.
qt4.5 에 mysql 드라이버 설치하고 테스트한 자료인데 이틀이 넘게 고생해서 문제를 해결한 자료입니다. 혹시 참고가 될까해서 올리고 혹시 잘못된 자료가 있으면 수정 부탁드립니다.
도움이 될만한 자료가 있으면 추가해 주세요... ^^

원도우 환경에서 QT4.5에서 MySQL 5.x 연결을 위한  MySQL Driver 추가 및 테스트 방법

1. MySQL 설치 : MySQL 5.x 버전 다운 로드(http://www.mysql.com)
   (설치경로:  c:\mysql )
2. QT에서 MySQL Plugin 추가 하기
  1) QT MySQL 플러그인(Debug, Release 모드용 라이브러리) 생성
      (1) qtcreator 에서 c:\qt\2009.03\qt\src\plugins\sqldrivers\mysql\mysql.pro 불러와서 아래의 코드를 삽입
......
HEADERS        = ../../../sql/drivers/mysql/qsql_mysql.h

  1. 삽입 영역 :  start
INCLUDEPATH += c:/mysql/include
LIBS += c:/mysql/lib/opt/libmysql.lib
  1. 삽입 영역 : end

SOURCES        = main.cpp \
          ../../../sql/drivers/mysql/qsql_mysql.cpp
......

      (2-1) qtcreator 프로젝트 환경에서 release 모드로 설정하고  rebuild 하면
            c:\qt\2009.03\qt\src\plugins\sqldrivers\mysql\release 폴더에 2개의 파일(libqsqlmysql4.a, qsqlmysql4.dll) 이 생성됨 : Release 모드용
      (2-2) qtcreator 프로젝트 환경에서 debug 모드로 설정하고  rebuild 하면
            c:\qt\2009.03\qt\src\plugins\sqldrivers\mysql\debug 폴더에 2개의 파일(libqsqlmysqld4.a, qsqlmysqld4.dll) 이 생성됨 : Debug 모드용                           
      (3) Debug 모드용(libqsqlmysqld4.a, qsqlmysqld4.dll), Release 모드용(libqsqlmysql4.a, qsqlmysql4.dll) 두 쌍의 파일을 c:\qt\2009.03\qt\plugins\sqldrivers 로 복사하고  libqsqlmysqld4.a, libqsqlmysql4.a 를 c:\qt\2009.03\qt\lib 로 복사한다.

3. 테스트 파일 : testmysql.cpp,  testmysql.pro

/// testmysql.pro 프로젝트 파일에
    QT += sql      # <<< 이 부분을 반드시  추가
    SOURCES += main.cpp               
   
   
///  testmysql.cpp
#include <QApplication>
#include <QtSql>          // mysql DB 관련
#include <QSqlDatabase>   // mysql DB 관련
#include <QtDebug>        // qDebug() qWarning()

#define DB_DRIVER    "QMYSQL"
#define DB_DBNAME    "QT_db"
#define DB_USER      "qt_user"
#define DB_PASSWD    "1234"
#define DB_HOST      "127.0.0.1"

int main( int argc, char *argv[] ){
        qDebug()<<"QSqlDatabase::drivers() : "<< (QSqlDatabase::drivers()).join( ", ");
        QApplication app( argc, argv, FALSE );
        QSqlDatabase db =  QSqlDatabase::addDatabase("QMYSQL");
        db.setDatabaseName(DB_DBNAME);
        db.setHostName(DB_HOST);

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

        db.setUserName( DB_USER );
        db.setPassword( DB_PASSWD );

        if ( db.open() ) {           
          qDebug() << "Db connect complete";
        }else{
          qWarning() << db.lastError().text();
        }
        return 0;
}

// 결과 보기
QSqlDatabase::drivers() :  "QSQLITE, QMYSQL3, QMYSQL, QODBC3, QODBC"
("QSQLITE", "QMYSQL3", "QMYSQL", "QODBC3", "QODBC")
("C:/Qt/2009.03/qt/plugins", "c:/QT/QT_program_example/mysql2/debug")
Db connect complete



DavidKim 09-08-14 16:47
 
좋은 정보 감사합니다. 
그런데 dll 파일과  .a  파일은 만들어 졌는데요.

 경로에 넣어주어도 not loaded 라고 나옵니다.
혹시 PATH 잡아 주어야 하는 것이 있나요?

그리고 배포할 때 실행파일과 dll과 있으면 되는 거죠.
ok 09-08-20 14:48
 
원도우에서 배포할때는 mingwm10.dll QtCored4.dll QtGuid4.dll QtXml4.dll 이 함께 같은 폴더에 있던지 아니면 위의 파일이 원도우 시스템 폴더(c:\windows\system32)로 복사해 두면 됩니다.
위의  dll 파일은 c:\2009.03\qt\bin 폴더에 있습니다.
 
 

Total 41
번호 제   목 글쓴이 날짜 조회 추천
41 [QT/Embedded] Qt를 이용한 동영상 재생기 chadr 03-12 2404 1
40 [QT/Embedded] QT5.1 이상 버전부터 동작되는 toolchain 구합니… (1) 날아Lee 05-14 6324 0
39 [QT/X11] libunhv3 - hv3(꿀뷰 전용 포멧) 풀기 및 Jpeg XR(HD P… 별님 09-26 7792 0
38 [QT/X11] arkzip - 범용 압축 해제 프로그램 나무나… 07-27 7695 0
37    [QT/X11] arkzip 2.4.3 별님 01-22 5451 0
36 [QT/Embedded] 좀 가르쳐주세요. (1) 은하계 07-08 6688 0
35 [QT/Embedded] QT 로 안드로이드 Camera 영상제어소스. 깨굴 03-17 6539 0
34 [QT/X11] 다수의 label ui에 있는 값 한번에 갖고오기 (2) 태백 01-22 5408 0
33 [QT/Win32] wince anti-aliasing patch 비행소… 04-26 7004 0
32 [QT/Win32] Linguist ICU Charset detect 추가 버전 (1) 비행소… 04-26 6864 0
31 [QT/Win32] Qt로 만든 로그 뷰어 프로그램 (monkey Log Viewer) 마루코 03-21 11993 0
30    [QT/Win32] Qt로 만든 로그 뷰어 프로그램 (monkey Log Viewer) (4) korone 03-22 8054 0
29 [QT/Win32] 컴파일 배치파일 티라노 09-17 8562 0
28 [QT/Win32] 원도우 환경에서 QT4.5에서 MySQL 5.x 연결을 위… (2) ok 08-06 9433 0
27 [QT/Embedded] QWT를 압축을 풀고 Frame buffer에서 실행이 안됩… 파블로 03-10 7865 0
26 [QT/Embedded] Timer를 이용한 그래프를 그릴려고 합니다. 파블로 03-10 7969 0
25 [QT/Embedded] [QT/X11] 임베디드 리눅스 프로그래밍(이연조) … (4) 블러드 06-24 13988 0
24 [QT/X11] 임베디드 리눅스 프로그래밍(이연조) 책 구합… (11) 박수호 11-01 13829 0
23    [QT/Embedded] 임베디드 리눅스 프로그래밍(이연조) 책 구합… 딩딩 03-12 10253 0
22    [QT/Embedded] pdf버전을 판매하는 곳입니다. (3) tod 03-23 12920 0
21 [QT/Win32] C++ GUI Programming with QT4 Examples (3) 하얀늑… 04-10 18675 0
20 [QT/Embedded] 임베디드 리눅스 프로그래밍(PC북, 이연조)파… 리오살… 08-23 16269 0
19 [QT/X11] qt designer 영문 메뉴얼 (8) dorosi 01-23 27432 0
18 [QT/Embedded] PCBOOK 임베디드 리눅스 프로그래밍 (5) 이우진 11-11 19938 0
17 [일반] C++ GUI Programming with Qt 3 (소스) (1) 이창규 06-08 20528 0
16 [QT/Embedded] QT/E 2.3.7 QThread Priority 패치 korone 05-24 14586 0
15 [일반] SourceOffSite, SourceAnyWhere, VSS Remoting 의 비교 유랑자 04-29 13951 0
14 [QT/X11] Qt Project 파일을 Visual Studio Project 파일로 변환… (4) korone 04-15 24186 0
13 [QT/Embedded] qt 를 이용하여 camstream 을 구현했습니다. (10) 전창민 03-29 20035 0
12 [QT/Embedded] 임베디드 리눅스 프로그래밍(PC북, 이연조)의 … (9) 이우진 03-13 18941 0
 1  2  


About korone.net | Copyright 2003 korone.net. All rights reserved.