2014-11-17 3 views
1

테스트로서 QODBC 드라이버를 사용하여 DB2 서버에 연결을 시도했습니다. DSN을 만든 다음 호스트 이름 및 나머지와 같은 필요한 데이터를 제공하여이 작업을 수행했습니다.DB2에 Qt 연결

하지만 다른 컴퓨터에서 내 앱을 실행하려면 어떻게해야합니까? DB2 데이터베이스에 연결하는 또 다른 방법이 있습니까? iOS에서 프로그램을 컴파일하고 실행하려고하면이 문제로 인해 제한됩니다.

답변

1

이 같은 QSqlDatabase 클래스를 사용할 수 있습니다

bool createConnection() 
{ 
    QSqlDatabase db = QSqlDatabase::addDatabase("QDB2"); 
    db.setHostName("mozart.konkordia.edu"); 
    db.setDatabaseName("musicdb"); 
    db.setUserName("gbatstone"); 
    db.setPassword("T17aV44"); 
    if (!db.open()) { 
     QMessageBox::critical(0, QObject::tr("Database Error"), 
           db.lastError().text()); 
     return false; 
    } 
    return true; 
} 

[EDITED]을

윈도우

에 DB2 헤더를 QDB2 플러그인을 구축하고 파일이 이미 설치되어 있어야 포함하는 방법 오른쪽 디렉토리에.

cd %QTDIR%\src\plugins\sqldrivers\db2 
qmake "INCLUDEPATH+=<DB2 home>/sqllib/include" "LIBS+=<DB2 home>/sqllib/lib/db2cli.lib" 
nmake 
+0

그게 내가 Postgres 나 MySQL 같은 데이터베이스에서 한 일이지만 Qt5에서는 QDB2 드라이버가 없다고 생각합니다. – dearn44

+0

살펴보기 : http://qt.developpez.com/doc/5.0-snapshot/qsqldatabase/ (드라이버 유형 QDB2) – duDE

+0

** QSqlDatabase :: drivers()를 실행하여 볼 수 있지만 ** 나는 iOS 및 Windows * 목록 ("QSQLITE", "QMYSQL", "QMYSQL3", "QODBC", "QODBC3", "QPSQL", "QPSQL7") * 설치 중에 무언가를 점검해야합니까? 아니면 드라이버를 직접 찾아야합니까? – dearn44