HSQL 访问被拒绝加载文件

Posted

技术标签:

【中文标题】HSQL 访问被拒绝加载文件【英文标题】:HSQL access denied loading file 【发布时间】:2015-01-19 14:34:52 【问题描述】:

我已经从 H2 迁移到 HSQL 作为嵌入式数据库,因为 h2 不支持 oracle to_date() 函数。

但是我在使用 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 一起使用。

有人能指出什么是错的吗?

【问题讨论】:

【参考方案1】:

如果您的数据库是文件:数据库,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

【讨论】:

以上是关于HSQL 访问被拒绝加载文件的主要内容,如果未能解决你的问题,请参考以下文章

无法加载文件或程序集 此处的程序集名称 或其依赖项之一。访问被拒绝

无法加载缓存键:拉取访问被拒绝 powershell

MFS 7.1 中桌面浏览器环境的错误访问被拒绝重新加载

从 packages.config 迁移到 PackageReferences 导致无法加载文件或程序集“...”或其依赖项之一。访问被拒绝

无法加载文件或程序集或其依赖项之一。访问被拒绝。问题是随机的,但发生一次后,它会继续

无法批量加载,因为无法打开文件“ File.csv”。操作系统错误代码5(访问被拒绝。)