PDA

View Full Version : SQLite driver available but don't load- QSqlDatabase



Rhotaber
23rd July 2018, 10:14
Hi,

I'm coding in PyQt5 ( version 5.9.2 ) in Ubuntu (using anaconda/spyder environment) and I'm trying to access a database by QSqlDatabase but

import sys
import sqlite3
from PyQt5.QtWidgets import QApplication, QWidget, QTableView, QHBoxLayout
from PyQt5.QtSql import QSqlDatabase


if __name__ == "__main__" :
app = QApplication(sys.argv)
t = QWidget()
print(list(map(str, QSqlDatabase.drivers())))
dbname = "test.db"
db = QSqlDatabase()
db.addDatabase("QSQLITE")
db.setDatabaseName("test.db")
if(db.open()):
print("Opened!")
db.close()
else:
print(db.lastError().databaseText())
print(list(map(str, db.drivers())))



t.show()
sys.exit(app.exec_())

gives me
Driver not loaded
['QSQLITE']

When I run ldd libqsqlite.r in the folder sqldrivers inside the folder where I have installed PyQt5 it gives me :
linux-vdso.so.1 => (0x00007fffe93f5000)
libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007efe41c7b000)
libQt5Sql.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Sql.so.5 (0x00007efe4210a000)
libQt5Core.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 (0x00007efe417a5000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007efe41423000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007efe41059000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007efe40e3c000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007efe40c38000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007efe40a1e000)
libicui18n.so.55 => /usr/lib/x86_64-linux-gnu/libicui18n.so.55 (0x00007efe405bc000)
libicuuc.so.55 => /usr/lib/x86_64-linux-gnu/libicuuc.so.55 (0x00007efe40228000)
libpcre16.so.3 => /usr/lib/x86_64-linux-gnu/libpcre16.so.3 (0x00007efe3ffc2000)
libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007efe3fcb1000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007efe3faa9000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007efe3f7a0000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007efe3f58a000)
/lib64/ld-linux-x86-64.so.2 (0x00007efe41f50000)
libicudata.so.55 => /usr/lib/x86_64-linux-gnu/libicudata.so.55 (0x00007efe3dad3000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007efe3d863000)

I have Qt version 5.9.5.

I really don't know what happen and I looked for an answer for 2 days but I can't manage to fix it, if anybody could help me it be great !

Mounika Narra
27th July 2018, 15:23
Same Problem i have also faced in Qt-4.7.4.After that i have compiled my application with that driver.Then it worked perfectly.
Once try this way, i think it will help full for you