Connecting Local MSSQL DB With QtSQL
Unsolved
General and Desktop
-
I have a local MSSQL Server on my computer and a local database located in my C drive under MSSQL. I'm trying to connect to that database using Qt Creator but I get "unable to open database file Error opening database" message.
#include <QtSql> #include <QApplication> #include <QtDebug> int main(int argc, char *argv[]) { QApplication a(argc, argv); QString servername = "DESKTOP-05C2T53\\SEKBANSQL"; //Server name that shows up when I start MSSQL Server Management QString dbname = "my_db_name"; QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); //Not sure what to put between quotes here to make it work db.setConnectOptions(); QString dsn = QString("DRIVER={SQL Native Client};SERVER=%1;DATABASE=%2;Trusted_Connection=Yes;").arg(servername).arg(dbname); db.setDatabaseName(dsn); if(db.open()){ qDebug() << "Opened"; db.close(); } else{ qDebug() << "Error = " << db.lastError().text(); } return a.exec(); }
I don't have QODBC on my computer and I'm just trying to connect locally
-
@UmeyrMSekban
I assume you need QODBC for MS SQL Server, certainly it's notQSQLITE
. -
@UmeyrMSekban
Usually I use only a standard connection string, try with this//Driver={SQL Server Native Client 11.0};Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword; m_database = QSqlDatabase::addDatabase("QODBC", connectionName); QString dns = QString("Driver={SQL Server Native Client 11.0};Server=%1;Database=%4;Uid=%2;Pwd=%3;") .arg(m_host,m_userName,m_password, m_nameDB); qDebug() << "ODBC connection string" << dns << "driver"; m_database.setDatabaseName(dns); stato = m_database.open(); if(!stato){ qCritical() << m_database.lastError().text() << QSqlDatabase::drivers(); }