我尝试从jar文件连接到访问数据库时出错

时间:2015-01-24 06:18:47

标签: 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.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)

这是我用于连接数据库的代码:

public Visualizzazioni_Access() {
        try {
            log=new MyLog4J();
            // Load MS accces driver class
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
            String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + "C:/CassaGestionale.accdb";
            db = DriverManager.getConnection(url, "", "");
            connesso=true;
            System.out.println("Connection Succesfull");
        } catch (Exception e) {
            connesso=false;
            log.logStackTrace(e);
        }
    }

此行代码出错:

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

我的错误在哪里?

0 个答案:

没有答案