2012-03-12 37 views
0

對不起,如果這個問題的答案是相當明顯的。我只是不明白,當我使用try/catch連接到我的數據庫時,下面的錯誤意味着什麼(我所知道的只是catch部分是由於print語句而執行的 - 「錯誤:無法創建數據庫。連接見法「數據庫連接」「無法連接到數據庫,幫我理解這個錯誤列表?

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 
Error: Couldn't make a database connection. See method 'dbConnect'. 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:169) 
    at runone.DBconnector.openConnection(DBconnector.java:26) 
    at runone.loginScreen.dbConnect(loginScreen.java:1592) 
    at runone.loginScreen.viewScreenState(loginScreen.java:1371) 
    at runone.loginScreen.jButton1ActionPerformed(loginScreen.java:1230) 
    at runone.loginScreen.access$19(loginScreen.java:1219) 
    at runone.loginScreen$20.actionPerformed(loginScreen.java:1177) 
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028) 
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351) 
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) 
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) 
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) 
    at java.awt.Component.processMouseEvent(Component.java:6373) 
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) 
    at java.awt.Component.processEvent(Component.java:6138) 
    at java.awt.Container.processEvent(Container.java:2085) 
    at java.awt.Component.dispatchEventImpl(Component.java:4735) 
    at java.awt.Container.dispatchEventImpl(Container.java:2143) 
    at java.awt.Component.dispatchEvent(Component.java:4565) 
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4621) 
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4282) 
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4212) 
    at java.awt.Container.dispatchEventImpl(Container.java:2129) 
    at java.awt.Window.dispatchEventImpl(Window.java:2478) 
    at java.awt.Component.dispatchEvent(Component.java:4565) 
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:679) 
    at java.awt.EventQueue.access$000(EventQueue.java:85) 
    at java.awt.EventQueue$1.run(EventQueue.java:638) 
    at java.awt.EventQueue$1.run(EventQueue.java:636) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) 
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98) 
    at java.awt.EventQueue$2.run(EventQueue.java:652) 
    at java.awt.EventQueue$2.run(EventQueue.java:650) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) 
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:649) 
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296) 
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211) 
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201) 
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196) 
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188) 
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) 

編輯:這裏是使連接代碼:

public void dbConnect() { 
     DBconnector db = new DBconnector(); 
     try { 
      db.openConnection(); 
     } catch (Exception e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
      System.out.println("Error: Couldn't make a database connection. See method 'dbConnect'."); 
     } 
    } 
+0

[ClassNotFoundException的com.mysql.jdbc的可能重複。驅動程序](http://stackoverflow.com/questions/1585811/classnotfoundexception-com-mysql-jdbc-driver) – 2013-11-05 16:41:47

+0

該驅動程序似乎缺少。你能證實嗎? – 2012-03-12 23:28:19

回答

2

堆棧跟蹤的第一行是這裏最重要的一條:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 

這表明您的類路徑中沒有MySQL驅動程序。

除外的其餘部分是隻爲領導到ClassNotFoundException操作堆棧跟蹤 - 讓你的dbConnect方法稱爲openConnection已經叫Class.forName

+0

import java.sql.Connection; import java.sql.DriverManager; \t import java.sql.ResultSet; \t import java.sql.SQLException; import java.sql.Statement; 這些位於我的DBconnector()類的頂部。他們不夠嗎? – Chucky 2012-03-12 23:54:32

+0

@Chucky:不 - 這是你的*源*代碼。您需要MySQL驅動程序('com.mysql.jdbc.Driver'類)在*執行時*處可用。應該有一個jar文件供您包括... – 2012-03-13 00:01:48

+0

Sorted!謝謝Jon Skeet! – Chucky 2012-03-13 00:40:58

相關問題