尝试写入只读数据库(代码 1032)
Posted
技术标签:
【中文标题】尝试写入只读数据库(代码 1032)【英文标题】:attempt to write a readonly database (code 1032) 【发布时间】:2018-07-03 06:36:28 【问题描述】:import Expo, SQLite from 'expo';
const db = SQLite.openDatabase('db.db');
export function create()
db.transaction(tx =>
tx.executeSql(
'CREATE TABLE if not exists material_mg (ID INT PRIMARY KEY ,order_number VARCHAR(10) ,truck_number VARCHAR(10) ,enter_mine_date TEXT ,vehicle_owner_name VARCHAR(50) ,driver_address TEXT ,driver_mobile_number BIGINT ,weigh_bridge FLOAT,in_time TEXT ,out_time TEXT ,drop_off_point TEXT ,transporter_name VARCHAR(50) ,loaded_from VARCHAR(50) ,mines_name VARCHAR(50) ,material VARCHAR(20) ,total_number_of_seats SMALLINT ,loading_in_timestamp TEXT,loading_out_timestamp TEXT,unloading_company_name VARCHAR(50) ,unloading_company_address VARCHAR(100),type_of_trip VARCHAR(5) ,loading_supervisor_name VARCHAR(50) ,weight FLOAT ,challan_date TEXT,challan_number VARCHAR(10) ,t_h CHAR ,party_name VARCHAR(50) ,sil_number VARCHAR(10) ,diesel INT,advance INT,booking_name VARCHAR(50) ,colliery_name VARCHAR(50) ,lifter_name VARCHAR(50) ,coalnet_weight FLOAT ,gross_weight FLOAT ,tare_weight FLOAT ,net_weight FLOAT ,remarks TEXT ,ccl_bill_number INT ,cash INT ,destination VARCHAR(50) ,broker_name VARCHAR(50) ,broker_mobile_number BIGINT )',null,(tx,resultset)=>console.log(resultset),(tx,resultset)=>console.log(resultset)
);
);
以上代码是我的数据库文件。当我执行这个创建查询时,我得到attempt to write a readonly database (code 1032)
错误。我正在使用带有 React Native 的 expo 客户端。不确定在哪里配置访问控制。在 expo sqlite 文档上也找不到任何东西。任何帮助表示赞赏。提到的其他解决方案在这里不适用,因为我使用的是 CRNA 方法。
【问题讨论】:
您是否考虑过该文件确实被写保护了?您是否尝试过使用 SQLite CLI? 你说的是哪个文件? @墨菲 您尝试写入的数据库文件db.db
。如果它还不存在,它也可能是您没有写入权限的工作目录。检查一下。
Change SQLite database mode to read-write的可能重复
@Murphy 还没有找到解决方案。我正在使用 CRNA 方法进行本机反应。我没有任何 gradle 或 build 文件。
【参考方案1】:
当数据库文件被删除或重命名时,可能会发生这种情况。 见1032错误码解释-https://www.sqlite.org/rescode.html#readonly_dbmoved
【讨论】:
以上是关于尝试写入只读数据库(代码 1032)的主要内容,如果未能解决你的问题,请参考以下文章
UWP SQLite 错误:“尝试写入只读数据库” [重复]
Django 登录错误:在 IIS 中“尝试写入只读数据库”