Oracle JDBC-соединение только для чтения

Есть ли способ получить JDBC-соединение только для чтения из базы данных oracle. Обычно я ищу параметр URL-адреса jdbc, который позволит это сделать, например:

jdbc:oracle:thin:@hostname:1521:sid?readonly=true

Я использую тонкий драйвер


person yannisf    schedule 29.11.2013    source источник
comment
Просто укажите пользователя, у которого есть только необходимые разрешения!   -  person isnot2bad    schedule 29.11.2013
comment
Вы можете сделать это с помощью грантов базы данных, а не с URL-адресом подключения.   -  person erencan    schedule 29.11.2013


Ответы (2)


Как было предложено в комментариях. Лучше всего предоставить доступ только для чтения пользователю, имеющему доступ к базе данных.

Альтернатива не предлагается.

Вы можете установить параметр readOnly в классе Connection с помощью connection.setReadOnly.

Обратитесь к документации API для получения более подробной информации.

http://docs.oracle.com/javase/6/docs/api/java/sql/Connection.html#setReadOnly(boolean)

person Abhijith Nagarajan    schedule 29.11.2013
comment
Почему не предлагается альтернатива только для чтения? Из-за пула соединений или чего-то в этом роде? - person Stephen; 23.09.2014
comment
Извините за задержку с ответом. Установка атрибута readOnly не рекомендуется, так как вы должны делать это каждый раз при получении соединения. И это не ограничение, и этот параметр указывает драйверу, как включить оптимизацию базы данных. - person Abhijith Nagarajan; 03.10.2014
comment
Чтобы уточнить, setReadOnly (true) на самом деле не устанавливает соединение только для чтения, как это может звучать. Это вообще не альтернатива, если ваша цель - соединение, которое не может изменять источник данных. - person Stoopkid; 05.04.2018

Насколько мне известно, тонкий диск будет иметь те же разрешения, что и пользователь, к которому вы подключены, поэтому самый простой способ получить это - иметь пользователя в базе данных, доступной только для чтения. Проверьте последний бит этой ссылки: http://docs.oracle.com/cd/B19306_01/java.102/b14355/apxtips.htm.

person chaos    schedule 29.11.2013