繁体   English   中英

从Windows命令提示符运行带有Access数据库的Java应用

[英]Running a Java app with an Access database from the Windows command prompt

我已经用Netbeans V6.1开发了Windows MS Access Java应用程序,一切在IDE中都可以正常进行,包括将MS Access数据加载到jTable中。 当我从Windows命令行运行它时,该应用程序启动,但数据未加载到jTable中。 相反,我得到了很多错误页面,但是前几个是:

java -jar doactions.jar
Picked up _JAVA_OPTIONS: -Xmx512M
Jan 28, 2016 12:22:21 AM doactions.DoActionsView <init>
SEVERE: null
java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

doActions是应用程序,而DoActionsView是jTable所在的位置。 似乎该版本看不到在ODBC管理器中定义的MS Access数据库。 有人可以提供任何帮助吗?

您需要确保JDBC ODBC驱动程序jar在类路径中。

抱歉,我没有看到Gord Thompson的问题。

Java提示的版本显示在java提示符下,该应用程序的运行时版本为1.8.0_45,但从Netbeans IDE中为1.6.0_45。 我假设我以某种方式安装了不同版本的运行时Java和JDK。 由于Netbeans乐于运行1.6版本,因此我将首先重新安装运行时1.6版本,以查看是否可以解决问题。

我在笔记本电脑上安装了两个Java版本。 我现在已经删除了1.8版本,一切正常。 非常感谢

劳伦斯

从命令提示符启动应用程序时,该应用程序在Java 8(1.8.0_45)JVM(Java虚拟机)下运行,而在NetBeans中运行该应用程序则在Java 6(1.6.0_45)下运行。 这就解释了差异。

命令提示符调用在向操作系统注册的Java运行时环境(JRE)下运行。 从java.com下载JRE时,Oracle当前正在分发Java 8。

NetBeans在Java 6下运行相同的应用程序,因为它使用的是Java 6 JDK(Java开发工具包)。 NetBeans从JDK(而不是独立的JRE)启动Java环境。

至于为什么该应用程序在Java 6下可以运行而在Java 8下无法运行的原因,JDBC-ODBC Bridge已从Java 8中删除,并且不再可用。 对于使用Java 8工作的替代,看

在不使用ODBC的情况下从Java操作Access数据库

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM