QT5 + SQL Server2008R2 遠端連接配接
- 本文主要包括以下部分:
- 1、環境準備
- 2、測試連接配接
- 3、遠端連接配接代碼
本文主要包括以下部分:
本文主要介紹當SQL Server和應用程式不在同一台伺服器時,如何在區域網路内遠端連接配接SQL資料庫。(通過公網連接配接資料庫可以實作,但是不推薦)
1、環境準備
1.1 正常連接配接遠端SQL Server時,請注意保證相關環境配置正常,可以參考《QT5連接配接SQL Server2008 本地連接配接》
https://blog.csdn.net/weixin_40747395/article/details/103126704
1.2 将SQL Server等軟體按照上文安裝到對應伺服器并配置;
2、測試連接配接
2.1 通過cmd或者powershell測試與目标資料庫IP是否正常;
2.2 開始寫代碼前,務必通過各類工具測試資料庫連接配接鍊路是否正常。推薦使用Excel即可。

*輸入資料庫位址、使用者名、密碼;
通過下拉框,可以檢視到資料庫内的表,表示連接配接成功!
3、遠端連接配接代碼
6.1 經過測試,可通過以下方式連接配接遠端資料庫
/**連接配接sql server資料庫
資料位址:sIp
端口号:iPort:
資料庫名:sDbNm
使用者名:sUserNm
密碼:sPwd
資料源:dsn
*/
void MainDialog::connectSql(QString sIp, int iPort, QString sDbNm, QString sUserNm, QString sPwd)
{
db = QSqlDatabase::addDatabase("QODBC");
QString dsn = QString("Driver={sql server};SERVER=%1;PORT=%2;DATABASE=%3;UID=%4;PWD=%5;")
.arg(sIp)
.arg(iPort)
.arg(sDbNm)
.arg(sUserNm)
.arg(sPwd);
db.setDatabaseName(dsn);
bool b= db.open();
if (r)
{
qDebug() << "SQL Server Connect OK!";
}
else{
qDebug() << "SQL Server Connect Failed!";
}
至此,連接配接遠端資料庫完成。如有疑問,歡迎留言讨論。