Spring JdbcTemplate/SimpleJdbcTemplate을 JNDI 조회를 통해 Oracle 데이터 소스 (oracle.jdbc.pool.OracleDataSource)와 함께 사용하고 있습니다. 이 응용 프로그램은 Oracle 11g 데이터베이스에 연결하는 Oracle Application Server (OAS) 10.1.3에서 실행됩니다.스프링에서 데이터베이스 세션 초기화 SQL 실행
데이터베이스 연결은 몇 가지 기본 데이터베이스 역할이 아닌 계정에 대한 것입니다. 데이터베이스에 대한 물리적 연결이 설정되면이 역할을 가능하게해야합니다 (아마도 Oracle의 "역할 설정"명령을 통해). 이 작업을 수행하기 위해 SQL 명령을 실행하도록 Oracle 데이터 소스를 구성하는 방법은 없습니다. Java 코드는 Spring JDBC 클래스를 사용하기 때문에 연결 열기 및 닫기를 처리하지 않습니다. Spring은 연결을 얻을 때 초기화 SQL을 실행할 수있는 방법을 제공합니까?
데이터 소스 정의 :
<?xml version = '1.0' encoding = 'windows-1252'?>
<data-sources xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/data-sources-10_1.xsd">
<native-data-source data-source-class="oracle.jdbc.pool.OracleDataSource"
jndi-name="jdbc/xxx" name="xxx"
url="jdbc:oracle:thin:@hostxxx:1541:xxx"
password="zzzzz" user="username"/>
</data-sources>
스프링 빈 정의 : 당신은 항상 DateSource
에 대한 프록시를 생성하고 getConnection()
을 무시할 수
<jee:jndi-lookup id="dataSource" jndi-name="jdbc/xxx" />
나는이 대답을 받아 들일 수 있습니다. – GriffeyDog