昨天接到Email,告知系统移植到Ubuntu上测试时,无法正常运行,报异常如下:
SQL error: attempt to write a readonly database
初一判断估计是Ubuntu权限问题,于是果断将数据库文件重新设置:
chmod 777 narrative.db
发觉仍然无法写入,困惑,于是进一步google,发觉问题如下:
There can be several reasons for this error message:
1. Several processes have the database open at the same time (see the FAQ).
2. There is a plugin to compress and encrypt the database. It doesn't allow to modify the DB.
3. Lastly, another FAQ says: "Make sure that the directory containing the database file is also writable to the user executing the CGI script." I think this is because the engine needs to create more files in the directory.
很明显,第三点就是造成问题的根源。对于存放数据库文件的文件夹,一直没有关注它是否有相应的写入权限。
于是顺理成章,type command 如下:
chmod 777 mydata (mydata是放narrative.db的文件夹)
经测试,至此,系统正常运行。
分享到:
相关推荐
jdbc:sqlite://COMPUTERNAME/shareA/dirB/dbfile 三、下面是使用SQLite的两段代码以供参考: 代码段1: 1 import java.sql.*; 2 import org.sqlite.JDBC; 3 4 public class SQLiteTest { 5 public static ...
在进行新的MySQL或SQLite3安装之前,确保系统上没有遗留的MySQL安装是非常重要的。下面是如何在Ubuntu系统中彻底卸载MySQL: 1. **删除MySQL包:** - `sudo apt-get autoremove --purge mysql-server-5.0` - `...
当出现"database is locked"异常时,通常是因为某个事务在执行时被阻塞,无法完成操作。这可能是由于另一个事务持有相关的锁,并且没有在合理的时间内释放。可以通过日志、调试工具或SQLite的错误信息来识别这种情况...
——SQLite 2 SQLite 数据库管理员 数据库实体A 表 表 数据库实体B 表 表 数据库实体 表 表 SQLite 我们已经掌握: SQLite是一款轻量级的关系型数据库,它的运算效率高,占用资源少,因此比较适合在移动设备上使用。...
在使用Linux或Unix类操作系统时,可能会遇到"sqlite3 not found"这样的错误提示,这通常意味着系统中没有安装SQLite3这个数据库引擎或者其路径没有被正确地添加到系统的PATH环境变量中。SQLite3是一个轻量级、开源的...
9. **跨平台兼容**:虽然此版本是针对Mac OS的,但SQLite Database Browser也有其他平台的版本,如Windows和Linux,这意味着你可以跨不同操作系统进行数据库管理。 10. **源代码开放**:SQLite Database Browser是...
3. **跨平台**:SQLite的数据文件在不同操作系统之间是兼容的,便于跨平台开发和迁移。 4. **强大查询能力**:SQLite支持SQL标准,包括复杂的查询语句、视图、触发器、存储过程等。 5. **安全性**:SQLite可以设置...
SQLite是一款轻量级的数据库管理系统,它被广泛应用于嵌入式设备、移动应用以及服务器端,因为它无需单独的数据库服务器进程,可以直接在文件系统上运行。 在Android开发中,SQLite是默认的数据存储解决方案,特别...
本文将详细介绍如何在Ubuntu操作系统上安装并初步使用SQLite3数据库。 #### 安装SQLite3数据库 在Ubuntu系统中,安装SQLite3非常便捷,主要通过系统的包管理器apt来完成。以下是详细的安装步骤: ##### 1. 更新...
WPF+EF+SQLite从建项目到写入数据开发环境配置 运行环境:VS2019 数据库工具:sqlitestudio 用于验证数据是否插入,项目中的数据库就是这个工具创建的 操作流程: 新建项目=> 安装System.Data.SQLite=> 配置App....
在本文中,我们将深入探讨如何通过优化SQLite3的源代码来提高数据插入性能,尤其是如何利用事务和执行准备来实现每秒百万条数据的写入速度。 首先,了解SQLite3的事务机制是至关重要的。在SQLite3中,事务用于确保...
当svn 出现clean up 死循环时,或者无法提交提示错误时。 1.把sqlite3.exe放到.svn文件夹下 2.在.svn目录下打开命令行输入以下语句: sqlite3 wc.db "delete from work_queue" sqlite3 wc.db "delete from wc_lock" ...
手把手教你sqlite3在Ubuntu中的安装及使用
当Java程序通过JDBC URL(如`jdbc:sqlite:/path/to/database`)建立连接时,驱动会加载必要的类和资源,创建与SQLite数据库的通信通道。 2. **使用步骤** - 添加依赖:将`sqlitejdbc.jar`文件添加到项目类路径中,...
Connection conn = DriverManager.getConnection("jdbc:sqlite:/path/to/your/database.db"); ``` 3. 执行SQL:使用Connection对象,可以通过Statement或PreparedStatement对象执行SQL查询、插入、更新和删除操作。...
1下载附件(无须安装),把wc.db(SVN目录下的隐藏文件)移到压缩路径下,例如:F:\soft\SQlite2开始 -> 运行 -> 打开 cmd命令 DOS命令打开指定目录例如:F:\soft\SQlite ;3 打开 wc.db:sqlite3 wc.db, 执行 ...
10. 支持多种操作系统:SQLite Database Browser跨平台运行,可以在Windows、Mac OS X和Linux等多种操作系统上使用。 总的来说,SQLite Database Browser 2.0 b1.app.zip 提供了一个易用的接口,使得非专业程序员或...
嵌入式Android项目设计与开发 第六章 数据存储 ——SQLite 1 SQLite 概念: SQLite是一款轻量级的关系型数据库,它的运算效率高,占用资源少,因此比较适合在移动设备上使用。 SQLite Android为了让我们更加方便地...
8. **学习资源与社区支持**:SQLiteDatabaseBrowser拥有活跃的开发者社区,用户可以在官方论坛和GitHub上寻求帮助,获取最新的更新和改进。 总之,SQLiteDatabaseBrowser是一款实用的SQLite数据库管理工具,它为...
嵌入式Android项目设计与开发 第六章 数据存储 ——SQLite 3 SQLite 内容: SQLite如何插入数据。 (1)SQL语句。insert into table…value() (2)使用SQLiteOpenHelper接口 实验 通过SQLiteOpenHelper接口insert ...