簡體   English   中英

從Qt Linux應用程序連接到MS SQLServer

[英]Connecting to MS SQLServer from Qt Linux application

我正在嘗試在我的Qt Linux應用程序中使用QODBC連接到遠程盒子上的MS SQL Server。

這是我到目前為止所做的:

  1. 在.pro文件中添加了QT + = SQL。

  2. 測試了一些db函數:

     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()在這個階段是空的,但這兩個都有效。

  1. 我試圖添加一個數據庫:

     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); 

如果我現在列出連接,“MyFirst”就在列表中。

  1. 試圖打開數據庫:

     bool ok = db.open(); qDebug() << "OK: " << ok; if (!ok) { qDebug() << "error: " << db.lastError().text(); } 

db.open()失敗,並顯示以下消息:

“[unixODBC] [驅動程序管理器]無法打開lib'SQL Native Client':找不到文件QODBC3:無法連接”

我的問題是:

我從一個論壇帖子里拿起了連接字符串,我認為這是一個很好的起點,但是到底應該是什么? “SQL NAtive Client”來自哪里? 如何設置我的Qt / Linux盒以便能夠連接到遠程MS SQL Server,我需要做什么?

聽起來你需要安裝SQL Server ODBC驅動程序。

有關如何執行此操作的說明如下:

此外,您需要使用正確的名稱來引用它,即“SQL Server的ODBC驅動程序11”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM