簡體   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