【发布时间】:2011-06-02 05:42:33
【问题描述】:
我有一个大型数据库,我想以只读模式打开...我正在使用 SQLiteJDBC,但不知道用什么来让它以只读模式工作。
谁能帮忙?
【问题讨论】:
标签: java sql sqlite jdbc readonly
我有一个大型数据库,我想以只读模式打开...我正在使用 SQLiteJDBC,但不知道用什么来让它以只读模式工作。
谁能帮忙?
【问题讨论】:
标签: java sql sqlite jdbc readonly
Test 演示如何将连接设置为只读:
SQLiteConfig config = new SQLiteConfig();
config.setReadOnly(true);
Connection conn = DriverManager.getConnection("jdbc:sqlite:sample.db",
config.toProperties());
【讨论】:
试试这个。
Properties config = new Properties();
config.setProperty("open_mode", "1"); //1 == readonly
Connection conn = DriverManager.getConnection("jdbc:sqlite:sample.db", config);
【讨论】:
只想补充一点,使用HikariCP时,需要两个数据源属性:
readOnly=true
dataSource.open_mode=1
【讨论】:
我的情况略有不同,但问题相同。如果您有使用 Hikari 的 Spring Boot 服务,则需要在 application.properties 中提供 2 个配置设置
spring.datasource.url=jdbc:sqlite:myDatabase.db?open_mode=1
spring.datasource.hikari.read-only=true
【讨论】:
我看到了你的帖子,这对我有帮助: 我建立了一个类似于此处列出的http://www.shoaibinamdar.in/blog/?p=313 的连接,但插入了
ds.setUrl("jdbc:sqlite::resource:"+
getClass().getResource("sample.db").toString());
我放了
ds.setUrl("jdbc:sqlite:resource/sample.db");
sample.db 进入 /myprojectname/resource/sample.db,资源位于与 /myprojectname/src/ 相同的目录 (myprojectname) 中
希望这对某人有所帮助
【讨论】: