gpt4 book ai didi

c++ - 为什么我无法连接到我的数据库?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:42:07 25 4
gpt4 key购买 nike

我已经遵循了很多教程,但我仍然无法从 Qt 连接到我的数据库。我总是收到此错误:

Closed!  "[Microsoft][ODBC SQL Server Driver][DBMSLPCN]SQL Server does not exist or
access denied. [Microsoft][ODBC SQL Server Driver][DBMSLPCN]ConnectionOpen
(Connect()). [Microsoft][ODBC SQL Server Driver]Invalid connection string attribute
QODBC3: Unable to connect"

或者如果我使用 SQL NATIVE CLIENT(即而不是 SQL SERVER)作为驱动程序,我会收到以下错误:

Closed!  "[Microsoft][ODBC Driver Manager] Data source name not found and no default 
driver specified QODBC3: Unable to connect"

我已经在这里坐了几个小时试图解决这个问题,但我看不出我做错了什么。服务器、数据库等似乎都有正确的名称。我只是不明白为什么它没有连接。

下面的代码

#include "login.h"
#include "ui_login.h"

login::login(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::login)
{
ui->setupUi(this);

QSqlDatabase db = QSqlDatabase::addDatabase ("QODBC","Chessgames");
db.setConnectOptions();
db.setDatabaseName("DRIVER={SQL SERVER};SERVER=MYNAME\\SQLEXPRESS;DATABASE=Chessgames;Uid=sa;Password=xxxxx;");

if(db.open())
{
qDebug() << "Opened!";
db.close();
}

else
{
qDebug() << "Closed! " << db.lastError().text();
}
}

login::~login()
{
delete ui;
}

最佳答案

通过将主机名更改为 ip 地址和端口来打开它。

db.setDatabaseName("DRIVER={SQL SERVER};SERVER=192.168.X.X;Port=port#;
DATABASE=Chessgames;Uid=sa;Password=xxxxx;");

关于c++ - 为什么我无法连接到我的数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26825525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com