【sqlcipher】pc端sqflite使用过程中遇到的问题

在flutter中使用sqlcipher时

Mac上如果通过flutter带的文件管理api(即File的delete()方法)删除数据库文件,再创建同名的数据文件的话,必现readonly问题,

这里需要注意的一点是

DatabaseFactory 在Mac上直接使用全局的databaseFactory即可

而在Windows上需要使用sqflite_ffi.createDatabaseFactoryFfi(ffiInit:(){...})返回的结果

但是如果通过sqlite库的删除数据库的api删除数据库文件的话,再创建同名的数据文件的话,就不会出现readonly问题

而且这里还有一个问题:如果上次数据库没有正常colse的话,再重新open数据库连接会导致database is locked报错,进而导致数据库无法正常使用

相关推荐
小王子玫瑰狐14 分钟前
数据库之MySQL
数据库·mysql
Arbori_262153 小时前
oracle DECODE 函数
数据库·oracle
songx_993 小时前
数据库10(代码相关语句)
数据库·sql
沸材4 小时前
MySQL——事务
数据库·mysql·事务
雯0609~4 小时前
thinkphp:部署完整项目到本地phpstudy
数据库·oracle
文牧之6 小时前
MySQL 修改用户密码
运维·数据库·mysql
sxlzs_7 小时前
oracle怎么查看是否走了索引
数据库·oracle
余大冠子7 小时前
oracle判断同表同条件查出两条数据,根据长短判断差异
数据库·oracle
King.6247 小时前
从 SQL2API 到 Text2API:开启数据应用开发的新征程
大数据·开发语言·数据库·sql·低代码
学代码是为了更好的搬砖7 小时前
oracle-ORA-12560: TNS: 协议适配器错误
数据库·oracle