Схема по умолчанию в URL-адресе Oracle

Я хотел бы установить схему базы данных по умолчанию в Oracle Connection URL

 jdbc:oracle:thin:@:: 

Мой пример SQL-оператора:

 select monkey_name from animals.monkey 

Мне нужно запросить базу данных без префикса схемы animals. т.е. когда я запускаю это утверждение

 select monkey_name from monkey 

по умолчанию будет использоваться схема animals .

Что мне нужно указать в URL-адресе подключения, получите такой эффект?

Благодарю.

    Вы не можете поместить что-либо в URL-адрес соединения.

    В Oracle каждый пользователь имеет свою собственную схему (даже если не содержит никаких объектов), и это их схема по умолчанию. После входа в систему / подключения они могут изменить свою схему по умолчанию с помощью

     ALTER SESSION SET CURRENT_SCHEMA=animals 

    Поэтому после подключения вам нужно будет сделать дополнительный оператор. Возможно, у пользователя и / или базы данных есть триггер входа в систему, который будет запускать его при входе в систему. Я лично предпочел бы явный оператор при подключении приложения.

    Если вы используете C3PO, вы можете сделать это, когда он проверяет соединение.

    Как свойства:

     c3p0.preferredTestQuery=alter session set current_schema=animals c3p0.testConnectionOnCheckout=true 

    Как Java-код:

     ComboPooledDataSource dataSource = new ComboPooledDataSource(); dataSource.setPreferredTestQuery("alter session set current_schema=animals"); dataSource.setTestConnectionOnCheckout(true); 

    Недостаток – это будет происходить каждый раз, когда соединение выведено из пула.

    Если вы используете соединение JDBC самостоятельно, вы можете просто сделать:

     Class.forName("oracle.jdbc.driver.OracleDriver"); Connection connection = getConnection("jdbc:oracle:thin:@//server:1521/instance", "username", "password"); connection.createStatement().execute("alter session set current_schema=animals")); 

    Как насчет использования синонимов?

     create synonym monkey for animals.monkey; select monkey_name from monkey 

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

     create or replace trigger SET_SCHEMA_AFTER_LOGON after logon on database begin execute immediate 'alter session set CURRENT_SCHEMA=animals'; end SET_SCHEMA_AFTER_LOGON; 
    Давайте будем гением компьютера.