sqlite3 jdbc 只读模式

sqlite3 jdbc 只读 无效方法:

  1. “jdbc:sqlite:/bal/work_home/fn.db?readonly=true”
    导致 fn.db?readonly=true 会被当成是数据库文件名

  2. “jdbc:sqlite:/bal/work_home/fn.db?jdbc.explicit_readonly=true”
    参考了pragmaReadOnly

sqlite3 jdbc 只读 有效方法 举例

package com.zzz;import com.zzz.sqlite3db.fn.entity.Func;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import org.sqlite.SQLiteConfig;
import org.sqlite.SQLiteDataSource;import java.util.List;
import java.util.Properties;import static com.zzz.utils.JavaVersionUtil.assertJavaVer1_8;public class SpringJdbcSqlite3Demo {public static void main(String[] args){assertJavaVer1_8();DriverManagerDataSource dataSource = new DriverManagerDataSource();dataSource.setDriverClassName(org.sqlite.JDBC.class.getCanonicalName());dataSource.setUrl("jdbc:sqlite:/bal/work_home/fn.db");dataSource.setUsername("");dataSource.setPassword("");// sqlite3 jdbc  只读模式打开了sqlite数据库Properties properties=new Properties();properties.setProperty("open_mode","1");dataSource.setConnectionProperties(properties);JdbcTemplate jdbcTemplate=new JdbcTemplate(dataSource);//正常执行Integer fnAbsLctId0=jdbcTemplate.queryForObject("select fnAbsLctId from tbl_Func limit 1", Integer.class);//正常查询到10条记录List<Func> funcList = jdbcTemplate.query("select * from tbl_Func limit 10", new BeanPropertyRowMapper<>(Func.class));///**sqlite3 jdbc  只读模式打开了sqlite数据库当执行   delete 语句时 报错如下:Caused by: org.sqlite.SQLiteException: [SQLITE_READONLY] Attempt to write a readonly database (attempt to write a readonly database)*/int cnt = jdbcTemplate.update("delete from tbl_Func where fnAbsLctId = 300");boolean end=true;}
}

寻找过程如下:

  1.   /home/z/.m2/repository/org/xerial/sqlite-jdbc/3.42.0.0/sqlite-jdbc-3.42.0.0-sources.jar!/org/sqlite/SQLiteConnection.java```javaprivate static DB open(String url, String origFileName, Properties props) throws SQLException {...} //注意字典props中有 'open_mode=1'```
    
  2.    /home/z/.m2/repository/org/xerial/sqlite-jdbc/3.42.0.0/sqlite-jdbc-3.42.0.0-sources.jar!/org/sqlite/SQLiteConfig.java
    
             public enum Pragma {OPEN_MODE("open_mode", "Database open-mode flag", null), //实践表明 open_mode设置为1 即 表示 只读模式打开数据库 相当于 命令 'sqlite3 -readonly fn.db'...}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/617341.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

蚂蚁爱购--靠谱的SpringBoot项目

简介 这是一个靠谱的SpringBoot项目实战&#xff0c;名字叫蚂蚁爱购。从零开发项目&#xff0c;视频加文档&#xff0c;十天就能学会开发JavaWeb项目。 教程路线是&#xff1a;搭建环境> 安装软件> 创建项目> 添加依赖和配置> 通过表生成代码> 编写Java代码&g…

Linux硬盘挂载

1. 查看磁盘分区情况 执行命令 sudo fdisk -l执行结果 Disk /dev/sda: 171.8 GB, 171798691840 bytes, 335544320 sectors Units sectors of 1 * 512 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 byte…

如何关闭iPhone 14或14 Pro Max,这里有详细步骤

你刚买了新的iphone 14或iphone 14 pro max&#xff0c;迫不及待地想开始使用它。但如果你需要关闭它怎么办&#xff1f;有几种方法可以用来关闭这两种设备。 如何关闭iPhone 14 你可以通过每个人都熟悉的老式侧按钮轻松关闭iPhone 14&#xff0c;也可以通过面部识别关闭它。 …

Springboot+vue的智能无人仓库管理(有报告),Javaee项目,springboot vue前后端分离项目

演示视频&#xff1a; Springbootvue的智能无人仓库管理&#xff08;有报告&#xff09;&#xff0c;Javaee项目&#xff0c;springboot vue前后端分离项目 项目介绍&#xff1a; 本文设计了一个基于Springbootvue的前后端分离的智能无人仓库管理&#xff0c;采用M&#xff08…

Linux/Frolic

Enumeration nmap 还是扫描系统对外开放的端口情况&#xff0c;对外开放了22,139,445,还有9999端口&#xff0c;显示是http服务&#xff0c;使用了nginx 1.10.3 ┌──(kali㉿kali)-[~/HTB/Frolic] └─$ nmap -sC -sV -oA nmap -Pn 10.10.10.111 Starting Nmap 7.93 ( http…

美国安规测试UL 60335-2-3 安全标准家用和类似用途电器安全第 2-3 部分:电熨斗的特殊要求

UL 60335-2-3 安全标准家用和类似用途电器安全第 2-3 部分:电熨斗的特殊要求 本 UL 标准基于 IEC 出版物 60335-2-3:6.1 版&#xff0c;家用和类似用途电器-安全-第 2-3 部分:电熨斗的特殊要 求。 IEC 出版物 60335-2-3 版权归 IEC 所有。 本版本的发布是为了满足 UL 标准政…

如何为数据保护加上“安全锁”?

伴随着数字经济的日趋活跃&#xff0c;数据安全和隐私保护成为了各国政府和企业都十分重视的问题&#xff0c;纷纷加强了数据安全防护。但实际上&#xff0c;近几年数据泄露问题接连不断&#xff0c;虽然没有造成严重的后果&#xff0c;但也足以证明目前数据安全防护的紧迫性。…

【JAVA】concurrentHashMap和HashTable有什么区别

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;JAVA ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 正文 同步性质&#xff1a; 性能&#xff1a; 允许空键值&#xff08;Allow Nulls&#xff09;&#xff1a; 迭代器&#xff08;Iter…

X态及Xprop解决策略

X态及Xprop解决策略 1 X态是什么1.1 X态产生原因1.2 X态设计上避免发生 2 X-Propagation选项2.1 Xprop策略--即仿真选项2.2 什么阶段使用X-prop2.3 Debug trace x xprop是VCS中的编译参数&#xff0c;在项目中用法 tree {tb_top} {xpropoff} insta…

用户态与内核态切换

随笔记录 目录 1. 切换方式 2. 案例介绍 1. 切换方式 1. 用户态切内核态&#xff1a; 用户态切换到内核态的唯一途径——>中断/异常/陷入(陷入又可称作系统调用)2. 内核态切用户态&#xff1a; 内核态切换到用户态的途径——>设置程序状态字 PSW注&#xff1a;CPU中有…

使用curl命令在Linux上进行HTTP请求

在Linux系统中&#xff0c;curl是一个非常强大的命令行工具&#xff0c;用于发送各种类型的HTTP请求。通过简单的命令&#xff0c;你可以发送GET、POST、PUT、DELETE等请求&#xff0c;以及设置请求头、处理响应等。以下是一些使用curl进行HTTP请求的常见用法和示例。 1. 发送…

Unity中URP下实现深度贴花

文章目录 前言一、场景设置二、实现思路1、通过深度图求出像素所在视图空间的Z值2、通过模型面片的求出像素在观察空间下的坐标值3、结合两者求出 深度图中像素的 XYZ值4、再将此坐标转换到模型的本地空间&#xff0c;把XY作为UV来进行纹理采样 三、URP下实现1、通过深度图求出…

专业课120+总分380+海南大学838信号与系统考研经验分享-电子信息,信息与通信,人工智能,生物医学

今年专业课120&#xff0c;总分380顺利被海大录取&#xff0c;总结一下这一年来的复习经验&#xff0c;希望对大家复习有借鉴。特别提醒这两年专业课海南大学838信号与系统难度比较大&#xff0c;还考察了IDTFT&#xff0c;DTFT等&#xff0c;对离散域的考察颇多&#xff0c;不…

制造企业实施WMS仓储管理系统后的变革与挑战

随着市场竞争的日益激烈&#xff0c;制造型企业对于提高生产效率和降低运营成本的需求愈发迫切。在这一背景下&#xff0c;WMS仓储管理系统解决方案逐渐成为制造业企业的必备工具。然而&#xff0c;实施WMS仓储管理系统不仅意味着企业将迎来一系列的变革&#xff0c;还将面临一…

解决MySQL8.0本地服务器连接不上的问题

MySQL在同一个内网内&#xff0c;但是他人链接你的MySQL时候提示&#xff1a; Host xxx is not allowed to connect to this MySQL server 这通常是MySQL限制了用户允许访问的IP导致的&#xff0c;我们可以按照下面的步骤来接触这个限制。 办法一 进入mysql的bin目录&#xff…

Java 并发性和多线程2

四、如何创建并运行 java 线程 Java 线程类也是一个 object 类&#xff0c;它的实例都继承自 java.lang.Thread 或其子类。 可以用如下方式用 java 中创建一个线程&#xff1a; Tread thread new Thread(); 执行该线程可以调用该线程的 start()方法: thread.start(); 在上…

国内镜像源配置方法(包括临时和永久方法)

国内镜像源&#xff1a; 阿里云 http://mirrors.aliyun.com/pypi/simple/中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/豆瓣 http://pypi.douban.com/simplePython官方 https://pypi.python.org/simple/v2ex http://pypi.v2ex.com/simple/中国科学院 http://pypi.mi…

【算法题】50. Pow(x, n)

题目 实现 pow(x, n) &#xff0c;即计算 x 的整数 n 次幂函数&#xff08;即&#xff0c;xn &#xff09;。 示例 1&#xff1a; 输入&#xff1a;x 2.00000, n 10 输出&#xff1a;1024.00000 示例 2&#xff1a; 输入&#xff1a;x 2.10000, n 3 输出&#xff1a;9.…

【算法题】49. 字母异位词分组

题目 给你一个字符串数组&#xff0c;请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs ["eat", "tea", "tan", "ate", "nat&q…

git 提交符号

emojiemoji代码commit说明&#x1f3a8; (调色板):art:改进代码结构/代码格式⚡️ (闪电):zap:提升性能&#x1f40e; (赛马):racehorse:提升性能&#x1f525; (火焰):fire:移除代码或文件&#x1f41b; (bug):bug:修复 bug&#x1f691; (急救车):ambulance:重要补丁✨ (火花…