0
我想從我的Linux機器連接Windows機器上的SQL Server R2。我無法連接SQL Server。如何從QT [C++]中的Linux機器連接SQL Server 2008 R2?
我用來連接數據庫的代碼是不是爲我工作:
#include <QtCore/QCoreApplication>
#include<QtSql>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC3");
db.setDatabaseName("DRIVER={SQL Server};Server=192.162.1.108;Database=WIN-UK71JUGMM8T;Uid=sa;Port=1433;[email protected];WSID=.");
db.open();
if(!db.open())
{
qDebug()<<"ERRORR MESSAGE: =>" << db.lastError().text();
return 0;
}
return a.exec();
}
它給我以下錯誤:
ERRORR MESSAGE: => "[unixODBC][Driver Manager]Data source name not found, and no default driver specified QODBC3: Unable to connect"
我的.pro文件:
QT += core sql
QT -= gui
TARGET = SQLTest
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
SOURCES += main.cpp
請告訴我想在WINDOWS機器上做一些程序。
感謝喲,先生,請檢查我的更改 –
完成更改後出現如下錯誤: DRIVERS =>(「QIBASE」,「QSQLITE」,「QSQLITE3」,「QMYSQL3」,「QMYSQL」,「QODBC3」,「QODBC」,「QPSQL7 「,」QPSQL「,」QTDS7「,」QTDS「) ERRORR MESSAGE =>「[unixODBC] [驅動程序管理器]未找到數據源名稱,未指定默認驅動程序QODBC3:無法連接」' 是否需要在我的Linux機器上安裝某些驅動程序?用於連接它們或進行任何配置更改? Beauce我可以用JAVA連接,但不能用QT C++ –
通過「驅動程序」,Qt表示他自己的dll(可在Qt安裝文件夾中找到),sqldrivers文件夾中,或者如果您在Linux上運行,則爲libs。它們特定於Qt,不需要單獨安裝。嘗試通過刪除端口,因爲[文檔](https://www.connectionstrings.com/microsoft-sql-server-odbc-driver/)沒有指定它 –