스프링 응용 프로그램 (테스트 용)에 내장 데이터베이스로 HSQLDB를 사용하려고합니다. 대상 프로덕션 데이터베이스가 오라클이기 때문에 Oracle 구문 모드 기능인 HSQLDB를 사용하고 싶습니다. 내 테스트를 실행할 때Oracle 쿼리 구문 모드에서 HSQLDB를 사용하는 방법은 무엇입니까?
SET DATABASE SQL SYNTAX ORA TRUE;
그러나, 나는 다음과 같은 오류가 발생합니다 : : 봄 설정에서
나는<jdbc:embedded-database type="HSQL" id="dataSource"> </jdbc:embedded-database> <jdbc:initialize-database data-source="dataSource" enabled="true"> <jdbc:script location="classpath:schema.sql"/> </jdbc:initialize-database>
그리고 내가 쓴 상단에 schema.sql에서
를 사용java.sql.SQLException: Unexpected token: DATABASE in statement [SET DATABASE SQL SYNTAX ORA TRUE]
구문 오류 또는 사용 권한 오류 또는 완전히 다른 것이 있습니까?
감사합니다. 답변을 이끌어 낼 수있는 포인터도 있습니다.
HSQL이 jdbc : embedded-database의 스프링 기본값이고 대상이 Oracle 인 경우,이 시나리오는 실제로 매우 일반적이어야합니다. 그러나 웹에서 문제를 만지는 것조차 발견하지 못했습니다.
업데이트 :
위의 문제는 답변 # 1 덕분에 해결되었습니다.
그러나, 지금 다른 예외를 얻을 :
org.springframework.dao.DataAccessResourceFailureException: Failed to populate database; nested exception is java.sql.SQLException: java.lang.RuntimeException: unsupported internal operation: StatementCommand unsupported internal operation: StatementCommand
이에 의해 발생 어떤 생각?
당신은 이제까지 StatementCommand 오류에 대한 해결책을 찾았나요? 나는 지금 같은 배에있다. –
오라클 호환 모드를 사용하는 대신 H2 db를 사용하지 않는 이유는 무엇입니까? – ebaxt