HSQLDB работает в Windows, но выдает исключения в Linux - PullRequest
0 голосов
/ 26 апреля 2011

Это действительно раздражает: мое Java-приложение, развернутое на Windows Tomcat, работает отлично.Когда приложение развернуто в Linux, HSQLDB начинает выдавать исключения из-за неправильной грамматики SQL и синтаксиса элементарных операторов SQL.Например, «DROP TABLE Test IF EXISTS» «IF EXISTS» является ошибкой или тип «double» не поддерживается.Я тестировал с помощью hsql 2.1.0 и hsql 1.8.1 - те же ошибки.

Мой мозг находится в режиме реального переполнения стека.Я борюсь с известной проблемой?

PS. После дальнейшего изучения выясняется, что мое веб-приложение Linux внезапно переключается на DBCP Tomcat вместо использования DBCP в WEB-INF / lib

.

Ответы [ 2 ]

0 голосов
/ 26 апреля 2011

извиняюсь за вопрос. Причина проблемы не имеет ничего общего с базой данных HSQL. Источник данных был создан с использованием Spring, и я использовал одно и то же имя для компонента источника данных в двух разных местах.

0 голосов
/ 26 апреля 2011

HSQLDB не работает по-другому в Linux.Возможно, что более ранняя версия Jar находится в classpath Tomcat в Linux.В этой ситуации могут быть выбраны классы из раннего фляги.

В ваше приложение можно добавить тест для обнаружения существования ранних версий Jars.

Например, DatabaseMetaData # getDriverVersion() сообщит версию банки.

...