QSqlError(-1, "Error opening database", "unable to open database file") when we try to open a qsqldatabase which having long database name(not supported more than 256 bytes)
I tried to remove directory path from database file name and change the current working directory by the above said directory, now file name is small but open call still failed
QString dbName = "/home/abc123456789/abc123456789/abc123456789/abc123456789/abc123456789/abc123456789/abc123456789/abc123456789/abc123456789/abc123456789/abc123456789/abc123456789/abc123456789/abc123456789/abc123456789/abc123456789/abc123456789/abc123456789/abc123456789/abc123456789/abc123456789/abc123456789/abc123456789/abc123456789/abc123456789/abc123456789/abc123456789/abc123456789/abc123456789/abc123456789test.db"
QFileInfo fi(dbName);
QDir d = fi.dir();
char buffer[4096];
char* cwd = getcwd(buffer, 4096);
chdir(d.canonicalPath().toStdString().c_str());
m_sqldb = QSqlDatabase::addDatabase("QSQLITE",connectionName)
m_sqldb.setDatabaseName(fi.fileName());
if(!m_sqldb.isOpen()) {
ok = m_sqldb.open();
if (ok) {
//////
}
else {
qDebug()<<dbName<<m_sqldb.lastError();
}
}