[SPRING] Spring 데이터 소스 및 데이터베이스 스키마
SPRINGSpring 데이터 소스 및 데이터베이스 스키마
DB2 데이터베이스를 가리키는 Spring 데이터 소스를 선언하려고합니다. 현재 org.springframework.jdbc.datasource.DriverManagerDataSource를 사용하여 연결을 설정하고 있지만 데이터 소스 빈의 데이터베이스에서 데이터베이스 스키마를 지정하는 방법을 찾지 못했습니다. 아무도 이걸 도와 줄 수 없습니까?
해결법
-
==============================
1.문제는 스키마를 설정하는 표준 방법이 없다는 것입니다. 각 데이터베이스에는 다른 메커니즘이 있습니다.
문제는 스키마를 설정하는 표준 방법이 없다는 것입니다. 각 데이터베이스에는 다른 메커니즘이 있습니다.
해결 방법은 db url의 일부로 스키마를 설정하는 것입니다.
db2의 경우 url은 다음과 같습니다.
도움이되는 희망 ...
특별 참고 사항 : 세미콜론을 추가하십시오. 그렇지 않으면 URL이 유효하지 않다는 오류가 표시됩니다. 또한 마지막 이후에 아무것도 확인하지 마십시오. 존재합니다 (공백이 아님).
-
==============================
2.표준 Spring 네임 스페이스로이를 수행 할 방법이 없습니다. 구성에 스키마를 추가하라는 요청에 대한 Rob Harrop의 응답 :
표준 Spring 네임 스페이스로이를 수행 할 방법이 없습니다. 구성에 스키마를 추가하라는 요청에 대한 Rob Harrop의 응답 :
구성에서 프록시를 설정해야하는 경우 제출자는 스키마를 지정할 수있는 프록시 코드를 포함 시켰습니다.
-
==============================
3.연결에서 스키마 소유자를 사용자로 사용하는 경우 해당 연결은 해당 스키마를 가리 킵니다. 즉. 사용자 user1이 schema1이라는 데이터베이스 스키마의 소유자 인 경우 사용자 user1을 사용하여 데이터베이스에 연결하면 기본적으로 연결은 schema1을 가리 킵니다.
연결에서 스키마 소유자를 사용자로 사용하는 경우 해당 연결은 해당 스키마를 가리 킵니다. 즉. 사용자 user1이 schema1이라는 데이터베이스 스키마의 소유자 인 경우 사용자 user1을 사용하여 데이터베이스에 연결하면 기본적으로 연결은 schema1을 가리 킵니다.
우리는 Spring에서 제공 한 UserCredentialsDataSourceAdapter를 사용하여 로그인 한 사용자를 기반으로 다른 스키마에 연결했습니다. 이것은 사용자를 기반으로 특정 스키마를 가리키는 데이터 소스를 제공합니다. 이것은 스레드 기반 로그인 정보를 사용합니다. 각 스레드는 연결할 스키마를 결정하고 그에 따라 사용자를 제공해야합니다.
from https://stackoverflow.com/questions/1248474/spring-datasource-and-database-schema by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 다른 Spring 컨텍스트간에 Spring 빈을 어떻게 공유합니까? (0) | 2019.05.11 |
---|---|
[SPRING] 속성을 통해 Spring Scheduler Task 사용 안함 (0) | 2019.05.11 |
[SPRING] Appender 클래스 로깅에서 Spring 빈 액세스 (0) | 2019.05.11 |
[SPRING] 완성 가능한 미래 대 봄 거래 (0) | 2019.05.11 |
[SPRING] Excel 스프레드 시트를 javax.sql.DataSource로 어떻게 구성 할 수 있습니까? (0) | 2019.05.11 |