2011-01-01 4 views
6

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

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

ответ

10

Test показано, как установить соединение будет доступен только для чтения:

SQLiteConfig config = new 
SQLiteConfig(); 

config.setReadOnly(true); 

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

??? Откуда мне получить SQLiteConfig? Это не похоже на SQLiteJDBC v056. –

+0

Спасибо, но нет, это не часть стандартного выпуска SQLiteJDBC. –

0

я наткнулся на ваш пост, и это то, что помогло мне: я сделал соединение, похожий на тот, перечисленные здесь http://www.shoaibinamdar.in/blog/?p=313 но insread из

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/

Надеется, что это помогает кому-то

3

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

Properties config = new Properties(); 
config.setProperty("open_mode", "1"); //1 == readonly 
Connection conn = DriverManager.getConnection("jdbc:sqlite:sample.db", config); 
Смежные вопросы