2015-01-19 4 views
1

Я перешел из H2 в HSQL в качестве встроенной базы данных, потому что h2 не поддерживает функцию oracle to_date().Доступ HSQL запрещен для загрузки файла

Но у меня есть еще одна проблема с HSQL, я всегда получал ошибку при попытке использовать функцию HSQL load_file(). Ошибка заключается в следующем:

Вызванный: org.hsqldb.HsqlException: Доступ запрещен: conf.xml

И мой SQL запрос

INSERT INTO "CONFIGURATION" (ID,TIMESTAMP,VALUE,COMMENTS) VALUES ('3TPxB+bO1be+24refPS6IwKSdX7sF1KMtmm1uMkr7rE=',{d '2014-03-13'},LOAD_FILE('conf.xml'),null); 

conf.xml находится в той же директории, что и sql-скрипт, и работает с H2.

Может ли кто-нибудь указать, что не так?

ответ

2

Если ваша база данных является файловой: базой данных, HSQLDB позволяет загрузить файл из каталога, в котором находятся файлы .script и .properties, и все его подкаталоги.

Если ваша база данных - это база данных mem: вам необходимо системное свойство textdb.allow_full_path=true, установленное перед подключением к базе данных. Вы можете сделать это с помощью java -Dtextdb.allow_full_path=true или установив свойство из своей программы, прежде чем открывать соединение с базой данных. См. http://hsqldb.org/doc/2.0/guide/dbproperties-chapt.html#dpc_system_props