我想在我的Qt Linux應用程序中使用QODBC在遠程盒子上連接到MS SQL Server。從Qt Linux應用程序連接到MS SQLServer
這是我迄今所做的:
增加QT + =在.pro文件SQL。
測試了一些分貝功能:
QStringList drivers = QSqlDatabase::drivers(); qDebug() << "Drivers: " ; foreach(QString driver, drivers) { qDebug() << ":: " << driver; } qDebug() << "Connection Names: "; QStringList connames = QSqlDatabase::connectionNames(); foreach(QString conname, connames) { qDebug() << ":: " << conname; } qDebug() << "---";
這些都工作,雖然connectionNames()
是在這個階段空。
我試圖加入一個數據庫:
QString serverName = "server1"; QString dbName = "abc123"; QSqlDatabase db = QSqlDatabase::addDatabase("QODBC", "MyFirst"); db.setHostName(serverName); QString myCon = QString("DRIVER={SQL Native Client};SERVER=%1;DATABASE=%2;Trusted_Connection = Yes").arg(serverName).arg(dbName); db.setDatabaseName(myCon);
試圖打開數據庫:
bool ok = db.open(); qDebug() << "OK: " << ok; if (!ok) { qDebug() << "error: " << db.lastError().text(); }
如果現在列出的連接, 「MyFirst」 是在列表中。
的db.open()失敗,消息如下:
「[的unixODBC] [驅動程序管理器]無法打開lib'SQL Native Client':文件未找到QODBC3:無法連接「
我的問題是:
我拿起論壇帖子中的連接字符串,我覺得它是一個很好的開始任何地方,但究竟應該在那裏? 「SQL NAtive客戶端」來自哪裏?我需要做什麼來設置我的Qt/Linux盒子才能連接到遠程MS SQL Server?
從Qt安裝的源碼目錄中編譯qodbc並查看該頁面的連接字符串:http://wiki.qt.io/ODBC –