Java中的“未定义符号:SQLAllocEnv”错误[重复]

Posted

技术标签:

【中文标题】Java中的“未定义符号:SQLAllocEnv”错误[重复]【英文标题】:"undefined symbol: SQLAllocEnv" error in Java [duplicate] 【发布时间】:2014-02-21 09:47:29 【问题描述】:

我正在使用 java 构建一个需要使用 MS Access 的应用程序。 运行项目时出现以下错误:

/usr/lib/jvm/jdk1.7.0/bin/java:符号查找错误:/usr/lib/jvm/jdk1.7.0/jre/lib/i386/libJdbcOdbc.so:未定义符号:SQLAllocEnv

什么意思?

【问题讨论】:

【参考方案1】:

正如您在previous question 中提到的,您正在尝试在 Linux (Ubuntu) 中为最终将部署在 Windows 上的项目进行开发。我怀疑您在未安装适当的驱动程序软件的情况下尝试在 Linux 中使用 JDBC-ODBC 桥。

我看到很多关于使用unixODBCMDB Tools 在Linux 下操作Access 数据库的答案,但根据我自己的经验,效果并不好。相反,我会提供以下建议:

如果您正在为 Windows 开发项目,请在 Windows 下进行开发。然后,您可以使用 JDBC-ODBC 桥和实际的 Microsoft Access ODBC 驱动程序。但是,请记住,JDBC-ODBC 桥已从 JDK8 中删除并且不受支持,如上一个答案 here 中所述。

如果您必须在 Linux 下进行开发,则使用 UCanAccess(或者可能只是 Jackcess,UCanAccess 将其用作 Access 数据库文件的低级接口)并部署您的应用程序所需的组件。

【讨论】:

感谢 Gord 的解决方案。我会执行的。

以上是关于Java中的“未定义符号:SQLAllocEnv”错误[重复]的主要内容,如果未能解决你的问题,请参考以下文章

关于JAVA 中的DOM操作

mySQL在java中的应用

Java中的ArrayList 重要方法补充

Java中的Math函数

使用java 8中的forEach(..)而不是java 5中的forEach循环的任何优势[重复]

Java中的数据类型