我正在使用java构建一个需要使用MS Access的应用程序。 我在运行项目时遇到以下错误:
/usr/lib/jvm/jdk1.7.0/bin/java:符号查找错误:/usr/lib/jvm/jdk1.7.0/jre/lib/i386/libJdbcOdbc.so:undefined symbol:SQLAllocEnv
这是什么意思?
答案 0 :(得分:2)
正如您在previous question中提到的那样,您正在尝试在Linux(Ubuntu)中进行开发,以便最终部署在Windows上。我怀疑你在没有安装适当的驱动程序软件的情况下尝试在Linux中使用JDBC-ODBC Bridge。
我已经看到很多答案谈论使用unixODBC
和MDB Tools
来操纵Linux下的Access数据库,但是根据我自己的经验,这个问题并没有很好地解决。相反,我会提供以下建议:
如果您正在为Windows开发项目,请在Windows下进行开发。然后,您可以使用JDBC-ODBC Bridge和实际的Microsoft Access ODBC驱动程序。但是,请记住,JDBC-ODBC Bridge已从JDK8中删除,并且不受支持,如上一个答案here中所述。
如果必须在Linux下进行开发,请使用UCanAccess(或者只是Jackcess,UCanAccess将其用作Access数据库的低级接口文件)并在您的应用程序中部署所需的组件。