【发布时间】: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。如果它还不存在,它也可能是您没有写入权限的工作目录。检查一下。 -
@Murphy 还没有找到解决方案。我正在使用 CRNA 方法进行本机反应。我没有任何 gradle 或 build 文件。
标签: sqlite react-native expo