Насколько близка возможность добавления новых данных в H2?

#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:

  1. Вы можете открыть всю базу данных в режиме только для чтения, добавив ;ACCESS_MODE_DATA=r к URL-адресу JDBC ( "jdbc:h2:" "./" dbName ";ACCESS_MODE_DATA=r" в вашем случае.

  2. Вы можете создать отдельного пользователя ( CREATE USER userName PASSWORD 'some_password' ) и предоставить ему только SELECT гранты ( GRANT SELECT ON SCHEMA nameOfYourSchema TO userName ) и использовать этого пользователя.