2012-03-12 10 views
0

申し訳ありませんが、この問題への回答が明らかな場合は、私はtry/catchを使用してデータベースに接続すると、次のエラーの意味を理解できません(私が知っているのは、catchステートメントはprintステートメントのために実行されるということです) - エラー:データベースを作成できませんでした接続方法「からdbConnect」を参照してください「データベースに接続できません。このエラーリストを理解するのに役立ちますか?

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) 

EDIT:。。ここで接続を行うコードは次のとおりです。

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

可能重複呼びかけているopenConnectionを呼びかけています。ドライバ](http://stackoverflow.com/questions/1585811/classnotfoundexception-com-mysql-jdbc-driver) –

+0

ドライバが見つからないようです。あなたは確認できますか? –

答えて

2

スタックトレースの最初の行は、ここで最も重要なものです。

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

これはあなたのクラスパスにMySQLドライバがないことを示唆しています。

例外の残りの部分はClassNotFoundExceptionに至るまでの操作のためだけのスタックトレースである - ので、あなたのdbConnect方法は、[のClassNotFoundException com.mysql.jdbcのClass.forNameなど

+0

import java.sql.Connection; import java.sql.DriverManager; \t import java.sql.ResultSet; \tインポートjava.sql.SQLException; import java.sql.Statement; これは私のDBconnector()クラスの先頭にあります。彼らは十分ではありませんか? – Chucky

+0

@ Chucky:いいえ - あなたの*ソースコードです。 *実行時に利用できるようにするには、MySQLドライバ( 'com.mysql.jdbc.Driver'クラス)が必要です。あなたに含めるためのjarファイルがあるはずです... –

+0

ソート済み! Jon Skeetありがとう! – Chucky

関連する問題