QT c++ 同时使用sqlite 和mysql数据库的问题

在项目开发中,同时使用了sqlite 和mysql数据库,分开这两部分运行功能都正常,但是一起运行,就异常,sqlite部分不能使用。

现象:出现如下提示

QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.

解决办法,addDatabase函数时候指定数据库类型和连接名称。

原因:如果不指定连接名称,则是默认连接'qt_sql_default_connection',那么两种数据库用

一个连接引起错乱。

The connection in the snippet will be the default connection, because we don't pass the second argument to addDatabase(), which is the connection name. For example, here we establish two MySQL database connections named "first" and "second":

原型:

static QSqlDatabase QSqlDatabase::addDatabase(const QString &type, const QString &connectionName = QLatin1String(defaultConnection))

//-------------以下是截取的代码-------------------

//---第1部分,DB是长连接

//...

DB = QSqlDatabase::addDatabase("QSQLITE","SQLiteConnection1");

//...

///---第2部分,db是短连接

//...

// if(QSqlDatabase::contains("MySQLConnection1"))//为避免重复,先移除掉

// QSqlDatabase::removeDatabase("MySQLConnection1");//

QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL", "MySQLConnection1");

//...

db.close();

//...

相关推荐
倔强的石头_2 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
云技纵横2 天前
唯一索引 INSERT 死锁实战:5 秒复现交叉插入的 S 锁循环等待
sql·mysql
沉默王二2 天前
面试官:RAG 不用向量数据库,用 MySQL 硬扛?我:100 万向量不是很轻松?
mysql·面试·ai编程
冬奇Lab3 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
小猿姐3 天前
MySQL Top 10 热点问题 AI 运维实战:从内核诊断到云原生运维
mysql·云原生·aiops
ClouGence3 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
云技纵横3 天前
Gap Lock 死锁实战:5 秒在本地复现 MySQL 间隙锁死锁
后端·mysql
无响应de神3 天前
三、用户与权限管理
数据库·mysql
摇滚侠4 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql