Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java+;sqlite:如何以只读方式打开数据库?_Java_Sql_Sqlite_Jdbc_Readonly - Fatal编程技术网

java+;sqlite:如何以只读方式打开数据库?

java+;sqlite:如何以只读方式打开数据库?,java,sql,sqlite,jdbc,readonly,Java,Sql,Sqlite,Jdbc,Readonly,我有一个大型数据库,我想以只读模式打开。。。我正在使用,但不确定使用什么使其成为只读 有人能帮忙吗?演示如何将连接设置为只读: SQLiteConfig config = new SQLiteConfig(); config.setReadOnly(true); Connection conn = DriverManager.getConnection("jdbc:sqlite:sample.db", config.toProperties()); 我偶然发现了你的帖子,这对我很有帮助:

我有一个大型数据库,我想以只读模式打开。。。我正在使用,但不确定使用什么使其成为只读

有人能帮忙吗?

演示如何将连接设置为只读:

SQLiteConfig config = new SQLiteConfig();

config.setReadOnly(true); 

Connection conn = DriverManager.getConnection("jdbc:sqlite:sample.db",
config.toProperties());

我偶然发现了你的帖子,这对我很有帮助: 我建立了一个与这里列出的连接相似的连接,但是读到了

    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)/

希望这对某人有所帮助

试试这个

Properties config = new Properties();
config.setProperty("open_mode", "1");  //1 == readonly
Connection conn = DriverManager.getConnection("jdbc:sqlite:sample.db", config);

只想在使用时添加这一点,您需要两个数据源属性:

readOnly=true
dataSource.open_mode=1

我有一个稍微不同的场景,但问题是一样的。如果您有使用Hikari的spring引导服务,则需要在application.properties中提供2个配置设置

spring.datasource.url=jdbc:sqlite:myDatabase.db?open_mode=1
spring.datasource.hikari.read-only=true

??? 我从哪里获取SQLiteConfig?它似乎在SQLiteJDBCV056中不可见。谢谢,但不,它不是SQLiteJDBC标准版本的一部分。