【SQL】新建库表时,报错attempt to write a readonly database

目录

1.问题背景

2.问题原因

3.解决方式

4.结果


windows64位 + Navicat + sql + vscode + c++

1.问题背景

需求是这样:

希望在调用初始化数据库方法时,查看是否有名为【POCT_PROCESS_CONFIG】的数据库表,如果没有就新建

我的数据库格式是这样

我的代码是这样

复制代码
void SqlWork::db_Init()
{
    QString sqlstr = "";
	//创建提取流程管理表(新表),存储卡盒文件、序列化文件、动作文件的名字
	sqlstr = "CREATE TABLE IF NOT EXISTS [POCT_PROCESS_CONFIG](\
		[PROCESS_INDEX] INTEGER, \
		[ID] VARCHAR(64) PRIMARY KEY NOT NULL UNIQUE, \
		[NAME] VARCHAR(256), \
		[CARD_NAME] VARCHAR(256), \
		[SERIALIZE_NAME] VARCHAR(256), \
		[OPERATE_NAME] VARCHAR(256));";
	Sql_StrWork(sqlstr);  //这句话是指执行上方的数据库语句
}

但是我在navicat上直接运行sqlstr里的语句时,会报错【attempt to write a readonly database】

2.问题原因

数据库文件没有读写权限

3.解决方式

1)windows上,直接将数据库文件的属性中,把【只读】去掉勾选即可

2)如果你是Linux

在命令行修改文件权限为777即可

复制代码
sudo chmod 777 ./xxx.db     //xxx.db是你的数据库文件

4.结果

修改文件权限后,再次执行sql语句,即可执行成功,并且有新库表【POCT_PROCESS_CONFIG】被创建

---END---

相关推荐
2401_8716965214 小时前
macOS 中使用 launchd 每分钟执行一次 PHP 脚本的完整配置指南
jvm·数据库·python
吕源林14 小时前
MongoDB副本集在网络闪断后如何快速恢复_重连机制与心跳超时(electionTimeoutMillis)
jvm·数据库·python
不会写DN14 小时前
如何排查 MySQL 慢查询
数据库·mysql·adb
emovie14 小时前
Python函数基础
linux·数据库·python
Polar__Star14 小时前
SQL中JOIN不同存储引擎表的影响_索引兼容性与查询性能评估
jvm·数据库·python
2301_8152795214 小时前
golang如何实现数据导入进度跟踪_golang数据导入进度跟踪实现教程
jvm·数据库·python
InfinteJustice14 小时前
golang如何使用struct嵌套_golang struct结构体嵌套使用方法.txt
jvm·数据库·python
牧瀬クリスだ14 小时前
关于MySql安装与可视化工具推荐
数据库·mysql
InfinteJustice14 小时前
Go语言如何用AWS Lambda_Go语言AWS Lambda教程【对比】
jvm·数据库·python
一只大袋鼠14 小时前
JDBC 详细笔记:从基础 API 到 SQL 注入解决
数据库·笔记·sql·mysql