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/)没有指定它 –