目錄
1.問題背景
2.問題原因
3.解決方式
4.結(jié)果
windows64位 + Navicat + sql + vscode + c++?
1.問題背景
需求是這樣:
希望在調(diào)用初始化數(shù)據(jù)庫方法時,查看是否有名為【POCT_PROCESS_CONFIG】的數(shù)據(jù)庫表,如果沒有就新建
我的數(shù)據(jù)庫格式是這樣
我的代碼是這樣
void SqlWork::db_Init()
{
QString sqlstr = "";
//創(chuàng)建提取流程管理表(新表),存儲卡盒文件、序列化文件、動作文件的名字
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); //這句話是指執(zhí)行上方的數(shù)據(jù)庫語句
}
但是我在navicat上直接運行sqlstr里的語句時,會報錯【attempt to write a readonly database】
2.問題原因
數(shù)據(jù)庫文件沒有讀寫權(quán)限
3.解決方式
1)windows上,直接將數(shù)據(jù)庫文件的屬性中,把【只讀】去掉勾選即可
2)如果你是Linux
在命令行修改文件權(quán)限為777即可
sudo chmod 777 ./xxx.db //xxx.db是你的數(shù)據(jù)庫文件
4.結(jié)果
修改文件權(quán)限后,再次執(zhí)行sql語句,即可執(zhí)行成功,并且有新庫表【POCT_PROCESS_CONFIG】被創(chuàng)建
文章來源:http://www.zghlxwxcb.cn/news/detail-771224.html
---END---文章來源地址http://www.zghlxwxcb.cn/news/detail-771224.html
到了這里,關(guān)于【SQL】新建庫表時,報錯attempt to write a readonly database的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!