我试图使用UCanAccess将一个Java应用程序连接到Access数据库,但是当我运行我的Java应用程序时,我得到的错误是
UCANACCESS_HOME系统变量未定义.
我已经将这六个jar文件添加到NetBeans中的项目库中。我还将路径添加到了将ucanaccess-3.0.3.jar文件存储到Windows 10中的path系统变量的目录中,我还尝试创建一个新的系统变量UCANACCESS_HOME。
任何能为我指明正确方向的帮助都将不胜感激。
发布于 2015-12-26 08:43:04
你可以
(1)确保CLASSPATH包括ucanaccess-x.x.x.jar和UCanAccess发行版的"lib“目录中的四个jar文件,
或
(2)确保CLASSPATH仅包括来自“加载程序”文件夹的ucanload.jar,并在启动Java虚拟机时设置名为UCANACCESS_HOME的-Dproperty=value,例如使用-Dproperty=value交换机
-DUCANACCESS_HOME=<directory into which you unpacked the UCanAccess binary distribution>也就是说,UCANACCESS_HOME必须在解压缩UCanAccess发行版zip文件之后指向直接包含UCanAccess的目录。例如:
-DUCANACCESS_HOME=/home/gord/Downloads/JDBC/UCanAccess-3.0.1-bin这两种配置是相互排斥的。第一种是普遍采用的。
第二种方法利用JDBC驱动程序类加载机制,以便使用不同的类加载器加载依赖项。如果应用程序已经使用了特定版本的HSQLDB、commons、commons和/或Jackcess,那么可以使用ucanload.jar来避免应用程序最终使用的那些jars的不同版本之间的冲突。换句话说,使用这种方法,您可以确保您的应用程序继续使用它以前使用过的HSQLDB、commons、commons和/或Jackcess的(其他)版本,而UCanAccess在其发行版中使用这些版本。
发布于 2015-12-27 04:00:56
谢谢你的帮助贾马迪。
我确定问题在于我的代码中的.mdb文件路径。我没有使用相对路径,而是使用了绝对路径。这不是Ucanaccess驱动程序的问题。
此外,我需要从项目中删除ucanload jar。
发布于 2018-07-06 06:05:27
经过这么多尝试,我想我终于找到了解决办法.尝试创建一个新数据库并重新启动数据库和文本编辑器。
https://stackoverflow.com/questions/34464565
复制相似问题