После некоторых исследований я нашел решение:
1- Убедитесь, что установлен Microsoft SQL Server 2016 LocalDB.
2- Измените «Драйвер» в строке подключения на:
DRIVER={ODBC Driver 13 for SQL Server}
3- Убедитесь, что атрибут AttachDbFileName указывает на правильный путь к файлу базы данных, особенно вам нужно обратить внимание на разделитель пути, тогда как QT использует "/", но в Windows вы должны использовать "\" ("\\" ) <- (Это была моя главная проблема). </p>
Чтобы избавиться от этой проблемы, используйте QDir::toNativeSeparators(dbFilename)
.
Так и после этих изменений строка подключения будет выглядеть так:
QString connStr = "DRIVER={ODBC Driver 13 for SQL Server};SERVER=%1;AttachDbFilename=%2;Integrated Security=true;";
db.setDatabaseName(connStr.arg("(localdb)\\MSSQLLocalDB").arg(dbFilename));
Спасибо.