QSqlError:14 Невозможно открыть файл базы данных

QsqlDatabaseне может открыть существующий файл. Файл является частью QT Ресурсы. Если я использую адрес файла согласно ресурсам, я получаю ошибку. Если я использую абсолютный адрес, он работает нормально. Я убедился, что файл существует и путь указан правильно.

const QString DRIVER("QSQLITE");
assert( QSqlDatabase::isDriverAvailable( DRIVER ) );
m_db = QSqlDatabase::addDatabase( DRIVER );

// const QString fileName = "/Users/user.name/Projects/TraiMed/TraiMed/Data/DB/Users.db

const QString fileName = ":/Databases/Data/DB/Users.db";
m_db.setDatabaseName( fileName );
qDebug() << m_db.databaseName();
QFile file( fileName );

if ( file.exists() )
    qDebug() << "File exists!";

if ( ! m_db.open() )
{
    qDebug() << "Error: connection with database failed ";
    qDebug() << m_db.lastError();
    assert( false );
}
else
{
    qDebug() << "Database: connection ok";
}

Выход выглядит как

":/Databases/Data/DB/Users.db"
File exists!
Error: connection with database failed 
QSqlError("14", "Error opening database", "unable to open database file")
Assertion failed: (false), function DbManager, file ../DBManager.cpp, line 27.
21:40:07: The program has unexpectedly finished.

0 ответов

Другие вопросы по тегам