【问题标题】:Java - I can't open Microsoft Access file through executable jarJava - 我无法通过可执行 jar 打开 Microsoft Access 文件
【发布时间】:2014-12-29 14:48:03
【问题描述】:

我正在尝试使用以下代码访问 Microsoft Access 数据库:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ="+ dbpatch + "/SilverDB.accdb";
Connection conn = DriverManager.getConnection(database, "", "");
Statement s = conn.createStatement();

问题是当我通过 Eclipse 运行它时,一切正常,但是当我生成可执行 jar 然后运行它时,它不起作用。有谁知道原因吗?

谢谢!

【问题讨论】:

  • 有没有异常,你有没有把驱动和可执行jar打包在一起
  • 你知道他们已经从 Java 8 中删除了 JdbcOdbc 桥吗?
  • 嗯,我在生成可执行文件时使用了“将所需的库打包到生成的JAR”选项,当我解压这个文件时,一切都在那里。
  • @ElliottFrisch,正如here建议的那样,即使使用 UCanAccess 也无法正常工作@
  • 我会从不使用 Access 开始。我建议h2derby。如果你真的需要使用 Access,那么你可以试试this

标签: java eclipse jdbc


【解决方案1】:

检查您在 Eclipse 中运行的 Java 版本与双击 jar 时的情况。如果双击时在 Eclipse 和 Java 8 中运行 Java 7,那么这可能会解释问题。

无论是什么问题,如果您不发布故障的堆栈跟踪,这里的任何人都无法帮助您。 “它不起作用”并不是一种允许某人尝试提供帮助的描述。

【讨论】:

  • Eclipse: java.runtime.version=1.7.0_45-b18 哦,我的电脑上没有安装 Java 8.. 只有 Java 7。刚刚检查了一下。其他奇怪的是,当我使用 CMD 命令(java -jar filename.jar)运行可执行 java 时,它工作正常!!!
  • 听起来您在注册表中的 .jar 注册有问题。可能要重新安装Java。无论如何,您应该真正扩展“不起作用”的含义。您还应该对不进行数据库访问或类似操作的超级简单 jar 进行测试 - 只需放置一个简单的 HelloWorld 消息...
  • 好吧,经过一段时间的“谷歌搜索”,我发现 [this] (stackoverflow.com/questions/5827164/…) 帖子解决了我的问题。显然,jar 关联注册表有点混乱,正如你所说,重新安装 Java 会起作用,但“Jarfix”程序就像一个魅力!
猜你喜欢
  • 1970-01-01
  • 2015-12-29
  • 2016-02-19
  • 2022-01-11
  • 2019-01-27
  • 1970-01-01
  • 2012-02-03
  • 1970-01-01
  • 2016-08-23
相关资源
最近更新 更多