Я пытаюсь использовать HSQLDB в качестве встроенной базы данных в приложении весны (для тестирования). Поскольку целевой производственной базой данных является Oracle, я хотел бы использовать функцию синтаксиса режима HSQLDBs Oracle.Как использовать HSQLDB в режиме синтаксиса запросов Oracle?
В весенней конфигурации я использую
<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 в верхней части я писал:
SET DATABASE SQL SYNTAX ORA TRUE;
Однако, при запуске моего теста, я получаю следующее сообщение об ошибке:
java.sql.SQLException: Unexpected token: DATABASE in statement [SET DATABASE SQL SYNTAX ORA TRUE]
Является ли это синтаксической ошибкой или ошибкой разрешений или чем-то совершенно другим?
Спасибо - также за любые указатели, которые могут привести к ответу.
Учитывая, что HSQL является значением по умолчанию для jdbc: встроенной базы данных и заданной целью является Oracle, этот сценарий должен быть очень распространенным. Тем не менее, я ничего не нашел в Сети, даже затронув проблему.
Update:
Вопрос выше решается благодаря ответить # 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, а с режимом совместимости с oracle? – ebaxt