Java + SQLite: как открыть базу данных только для чтения? - PullRequest
6 голосов
/ 01 января 2011

У меня есть большая база данных, которую я хочу открыть в режиме только для чтения ... Я использую SQLiteJDBC и не уверен, что использовать, чтобы она работала только для чтения.

Может кто-нибудь помочь?

Ответы [ 4 ]

11 голосов
/ 01 января 2011

Тест демонстрирует, как установить соединение только для чтения:

SQLiteConfig config = new SQLiteConfig();

config.setReadOnly(true); 

Connection conn = DriverManager.getConnection("jdbc:sqlite:sample.db",
config.toProperties());
4 голосов
/ 07 августа 2013

Попробуйте это.

Properties config = new Properties();
config.setProperty("open_mode", "1");  //1 == readonly
Connection conn = DriverManager.getConnection("jdbc:sqlite:sample.db", config);
0 голосов
/ 22 февраля 2019

Просто хочу добавить, что при использовании HikariCP вам необходимо два свойства источника данных:

readOnly=true
dataSource.open_mode=1
0 голосов
/ 07 марта 2013

Я наткнулся на ваш пост, и вот что мне помогло: Я установил соединение, аналогичное указанному здесь 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), что и / myprojectname / src /

Надеюсь, это кому-нибудь поможет

...