【问题标题】:Application wont write to MS DB应用程序不会写入 MS DB
【发布时间】:2011-07-21 05:54:19
【问题描述】:

我创建了一个 Java 桌面应用程序,它可以读取和写入 Microsoft Access DB。

在我将其转换为.JAR 之前,该应用程序运行良好,之后它只能从数据库中读取,但不能写入。

关于如何解决这个问题的任何想法?

【问题讨论】:

  • 您是否获得堆栈跟踪或任何其他信息?
  • MDB 变为只读的最可能原因是它所在的目录没有正确的权限。
  • Jet/ACE 要求数据文件位于 Windows 文件系统中。时期。语句结束。

标签: java ms-access jdbc


【解决方案1】:

我猜你已经在 J​​AR 文件本身中包含了数据库文件。简而言之,虽然您可以从 JAR 中获取一个 URL 来读取文件,但您不能写入其中一个。如果要写入,您需要将数据库(MDB 文件?)从 JAR 中取出并放入实际的文件系统中。

【讨论】:

  • 感谢您的回复,确实之前MDB在里面,但是现在MDB文件在Jar文件外面。我可能已经解决了这个问题,我四处窥探,发现在 windows 中有一组名为 INTERACTIVE 的用户,如果我完全控制该组,JAR 可以写入它,否则 nada。现在是时候在其他系统上进行测试了。
  • 您可以在user.home 的子目录中设置数据库。使用系统属性 x-plat 很容易找到。并且在运行中稳定。它还应该为用户启用写入功能。顺便说一句 - 应用程序。有 GUI(例如 Swing、AWT、SWT)?如果是这样,Java Web Start 可能是一个不错的安装选项。 JWS 提供将在(第一次)应用程序启动之前调用的ExtensionInstallerService。这是我的小demo. of the ExtensionInstallerService
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多