Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 尝试从jar文件连接到access数据库时出错_Java_Ms Access_Jdbc_Odbc - Fatal编程技术网

Java 尝试从jar文件连接到access数据库时出错

Java 尝试从jar文件连接到access数据库时出错,java,ms-access,jdbc,odbc,Java,Ms Access,Jdbc,Odbc,我有这个代码,我用它连接我的Access数据库。如果我尝试从eclipse执行它,它会工作。但是,如果我尝试创建一个jar文件,然后运行它,则会出现以下错误: DEBUG [AWT-EventQueue-0] (MyLog4J.java:45) - java.lang.NullPointerException at sun.jdbc.odbc.JdbcOdbcDriver.initialize(Unknown Source) at sun.jdbc.odbc.Jd

我有这个代码,我用它连接我的Access数据库。如果我尝试从eclipse执行它,它会工作。但是,如果我尝试创建一个jar文件,然后运行它,则会出现以下错误:

DEBUG [AWT-EventQueue-0] (MyLog4J.java:45) - java.lang.NullPointerException
        at sun.jdbc.odbc.JdbcOdbcDriver.initialize(Unknown Source)
        at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at esempio.Visualizzazioni_Access.<init>(Visualizzazioni_Access.java:40)

        at Scontrini.abstractScontrini.apriDB(abstractScontrini.java:72)
        at Scontrini.PanelScontrini.creaSwing(PanelScontrini.java:60)
        at esp.TestaFrame$MenuLookDemo22$4.actionPerformed(TestaFrame.java:289)
        at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
        at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
        at javax.swing.AbstractButton.doClick(Unknown Source)
        at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
        at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown
Source)
        at java.awt.Component.processMouseEvent(Unknown Source)
        at javax.swing.JComponent.processMouseEvent(Unknown Source)
        at java.awt.Component.processEvent(Unknown Source)
        at java.awt.Container.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$400(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sour
ce)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sour
ce)
错误出现在以下代码行:

db = DriverManager.getConnection(url, "", "");

我的错误在哪里?

您使用Odbc,因此必须添加
数据源
。但是,我必须在哪里添加数据源?我看到了,在管理工具中有一个创建数据源的过程,但是我想从USB密钥使用这个数据库,所以如果我将USB密钥插入PC1,我可以使用它,如果我将USB密钥插入另一台PC,我也可以使用它。有可能吗?是否?@ronguyen如果您使用问题中的代码中的连接字符串,那么这是不必要的。我尝试过这样做:我已经在eclipse中用java 1.6编译了这段代码。但是我的电脑里有Java1.8,所以我复制了JRE1.6目录下的所有jar文件,然后从那个文件夹启动它,程序就可以运行了。我认为问题出在java的版本上,JDBC-ODBC桥驱动程序在Java8中已经被删除了,所以出现问题并不奇怪。我建议改为使用UCanAccess,有关更多信息,请参阅。
db = DriverManager.getConnection(url, "", "");