如何获取可用的Sql服务器(或实例?)列表在本地网络上(最好是主机名)。 大致如何在DSN数据源设置中完成: 图片:https://i.stack.imgur.com/ADM6w.png
答案 0 :(得分:0)
这可以使用Qt QProcess
和windows命令SQLCMD。
SQLCMD -L [c]
列出本地配置的服务器计算机以及的名称 在网络上广播的服务器计算机。这个 参数不能与其他参数结合使用。该 可以列出的最大服务器计算机数量为3000。
.h
#include <QProcess>
private slots:
void readResult();
private:
QProcess getSQLNodes;
的.cpp
getSQLNodes.setProgram("SQLCMD");
getSQLNodes.setArguments({"-Lc"});
getSQLNodes.start();
getSQLNodes.waitForStarted();
connect(&getSQLNodes,&QProcess::readyRead, this, &MainWindow::readResult);
void MainWindow::readResult()
{
while(getSQLNodes.bytesAvailable()){
QString DSNservers = getSQLNodes.readAll();
qDebug() << DSNservers ;
this->ui->plainTextEdit->appendPlainText(DSNservers);
}
}