java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver不';我不再在java中工作了。如何解决这个问题?

java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver不';我不再在java中工作了。如何解决这个问题?,java,jdbc,Java,Jdbc,它两天前起作用了。现在没有了。我100%确信编码是正确的。这是我用来连接数据库的方式。找不到我问题的答案。请给我一个答案,因为我是java语言的初学者。(使用jdk 7u72) 这是堆栈跟踪 java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoa

它两天前起作用了。现在没有了。我100%确信编码是正确的。这是我用来连接数据库的方式。找不到我问题的答案。请给我一个答案,因为我是java语言的初学者。(使用jdk 7u72)

这是堆栈跟踪

 java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
         at java.net.URLClassLoader$1.run(Unknown Source)
         at java.net.URLClassLoader$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
         at java.lang.ClassLoader.loadClass(Unknown Source)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Unknown Source)
         at A.set(jptest7.java:410)
         at A.actionPerformed(jptest7.java:560)
         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.plaf.basic.BasicButtonListener.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 Source)
         at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
         at java.awt.EventQueue$4.run(Unknown Source)
         at java.awt.EventQueue$4.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
         at java.awt.EventQueue.dispatchEvent(Unknown Source)
         at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
         at java.awt.EventDispatchThread.run(Unknown Source)

Connection failed select PASSWORD from USERS where USERNAME='ashane' ERROR:
 java.lang.NullPointerException

请将您的jar添加到类路径,如下所示

java-cp。;C:\Program Files\MySQL\MySQL-connector-java-5.1.15\MySQL-connector-java-5.1.15.jar MysqlConnect


注意:请根据需要用jar文件替换msql连接器。

根据注释,您的系统现在运行在Java 8 JRE上。ODBC网桥已从此版本以及所有未来版本中删除。您需要为要连接的数据库找到本机JDBC驱动程序,并将其放在类路径上

java -classpath "[/path/to/your/driver.jar];." [yourclassname]

或者,您可以显式地使用JDK 7运行时,但我建议您不要这样做。您发现了一个兼容性问题,与其尝试解决它,不如解决它。

您说的这个连接器在哪里可以找到?您能解释一下吗?您可以从oracle网站下载连接器,然后再检查您使用的java版本。所以,根据Java版本,您可以选择连接器。它应该是classes12.jar或ojdbc14.jar之类的东西。-1-“你有具体的原因吗?”-是的。因为答案不正确。缺少的类不是JDBC驱动程序。ODBC的参与意味着他使用MySQL的可能性很小。如果JDK 7仍然安装,你仍然可以使用它运行。通过此:/full/path/to/jdk7/bin/java注册。然而,我会努力找到一个JDBC驱动程序并将其添加到类路径中,这样您就不会看到这样的错误again@cowls你说得对。我已经安装了jdk 7和jdk 8。我仍在试图弄清楚我是如何安装版本8的,因为我没有安装??!也许是某个系统/应用程序更新为您安装了它?感谢大家对我的帮助。如果我要使用IDE,哪一个更适合作为步骤1?NETBeans还是eclipse?遗憾的是,这个问题是有争议的(因此也就离题了)。我个人使用eclipse,但两者都有其优缺点。如果您是初学者,使用命令行实际上是非常有帮助的,因为它迫使您了解IDE为您做了什么。当您对手动工具感到满意时,您可以升级到电动工具。我将支持@IanMcLaird关于使用命令行的说法(但不是关于Eclipse,因为我个人使用NetBeans)。理解和解决IDE之外的类路径问题是一项技能,即使对于任何想成为程序员的人来说,这是一项至关重要的技能。感谢您使用文本编辑器和命令行解决了这些问题——您对Java和JVM的理解将使您领先于同行。
java -classpath "[/path/to/your/driver.jar];." [yourclassname]