#java #database #jdbc #h2 #readonly
#java #База данных #jdbc #h2 #только для чтения
Вопрос:
У меня проблема. После добавления некоторых данных в базу данных мне нужно установить режим только для чтения для всей базы данных. Какой самый простой способ сделать это, используя встроенную базу данных h2 с диспетчером драйверов (jdbc)?
Class.forName("org.h2.Driver").newInstance();
con = DriverManager.getConnection("jdbc:h2:" "./" dbName, "hereIsUser", "hereIsPassword");
Ответ №1:
-
Вы можете открыть всю базу данных в режиме только для чтения, добавив
;ACCESS_MODE_DATA=r
к URL-адресу JDBC ("jdbc:h2:" "./" dbName ";ACCESS_MODE_DATA=r"
в вашем случае. -
Вы можете создать отдельного пользователя (
CREATE USER userName PASSWORD 'some_password'
) и предоставить ему толькоSELECT
гранты (GRANT SELECT ON SCHEMA nameOfYourSchema TO userName
) и использовать этого пользователя.