HSQLDB在程序和文件中锁定文件-文件目录写权限

Posted

技术标签:

【中文标题】HSQLDB在程序和文件中锁定文件-文件目录写权限【英文标题】:HSQLDB lock file in programs and files - file directory write permission 【发布时间】:2012-12-11 19:18:30 【问题描述】:

我在 JAVA 中有一个应用程序连接到 HSQLDB 并且需要安装,我制作了该应用程序并且工作正常,但是当我将代码放在 Programs and files 文件夹中时,HSQLDB 无法编辑锁定属性并且无法打开软件 =(

我知道这是 Windows 安全性,但是,有没有办法让包含我的数据库的文件夹可编辑?(c:programs and files\mySoftware\database) 就像在 php 中一样,使用 chmod...

谢谢!

【问题讨论】:

【参考方案1】:

您使用了错误的方法。您需要将文件放到 \Users\All users\AppData\yourapplication(在 Windows 7 中)或 \Users\Profilename\AppData\yourapplication 文件夹下的应用程序特定文件夹,而不是使文件夹可编辑。该文件夹的路径是通过名为SHGetFolderPath 的Windows API(不知道Java 提供什么有关Windows 特定API 的,抱歉)函数获得。您需要 CSIDL_APPDATA 或 CSIDL_COMMON_APPDATA 路径。

【讨论】:

HSQLDB 文件路径可以用“~”符号引用 Java user.home 目录。例如“jdbc:hsqldb:file:~/yourapplcation/yourdb”

以上是关于HSQLDB在程序和文件中锁定文件-文件目录写权限的主要内容,如果未能解决你的问题,请参考以下文章

HSQLDB 删除所有数据和配置文件

在目录中创建文件之前检查目录中的写访问权限

文件特殊权限

如何在使用 .NET 安装期间授予对文件夹的读/写权限

MAC /usr/local 文件夹权限问题

hibernate/hsqldb:关机后找不到数据库文件