2016-08-05 3 views
1

스프링 부트로 DB 연결을 얻은 후 직접 사용자 정의 SQL 문을 실행할 수 있습니까?스프링 부트에서 각 DB 연결 시작 부분에서 SQL 문 실행

새 연결이 설정 될 때마다 SQL을 실행해야합니다.

솔루션은 스프링 부트 기본 DataSource 구현 (Tomcat 풀링 데이터 소스라고 생각합니다)과 함께 작동해야합니다.

정말 문이 있지만 내 경우가있을 것입니다 중요하지 않습니다 ALTER SESSION SET CURRENT_SCHEMA=xxxx

+0

당신은 당신의 연결 문자열에 사용할 스키마를 설정할 수 없습니다? 'spring.datasource.url = jdbc : mysql : // localhost/myschema' [SQL 데이터베이스 작업 §29.1.2] (http://docs.spring.io/spring-boot/docs/current/reference/html/ boot-features-sql.html # boot-features-production-database에 연결) –

+0

@StephenP 유감스럽게도 Oracle은 연결 문자열의 스키마를 지원하지 않습니다. – jhyot

답변

8

톰캣 JDBC 연결 풀은 각 풀을 구성 할 수 있습니다처럼 "initSQL는"https://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html

그것은 보이는 매개 변수가 당신의 .properties 파일의 매개 변수는 1.4 전에

그래서 시도해

봄 부팅 (https://stackoverflow.com/a/25573035/280244를 @see) :

spring.datasource.initSQL=ALTER SESSION SET CURRENT_SCHEMA=xxxx 

봄 부팅 1.4 이상은 :

spring.datasource.tomcat.initSQL=ALTER SESSION SET CURRENT_SCHEMA=xxxx 
관련 문제