Java 找不到合适的驱动程序,但可以在Netbeans中完美连接

Java 找不到合适的驱动程序,但可以在Netbeans中完美连接,java,jdbc,sqlexception,Java,Jdbc,Sqlexception,在过去的3个小时里,我一直在谷歌上搜索这篇文章,我无法相信关于它的信息是如此之少。我用ODBC驱动程序连接C++应用程序,PHP中的PDO等等,我认为用java连接很容易。 我得到这个异常java.sql.SQLException没有找到合适的驱动程序。当我尝试时 // Connect to the database try { Connection connection = DriverManager.getConnection("jdbc:mysql://localh

在过去的3个小时里,我一直在谷歌上搜索这篇文章,我无法相信关于它的信息是如此之少。我用ODBC驱动程序连接C++应用程序,PHP中的PDO等等,我认为用java连接很容易。 我得到这个异常
java.sql.SQLException没有找到合适的驱动程序。
当我尝试时

// Connect to the database
    try {
        Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/schema_name", "root", "");
    }
    catch(SQLException ex) {
        JOptionPane.showMessageDialog(NULL, ex);
        System.exit(0);
    }
我正在使用Netbeans,在“服务”选项卡中,我可以完美地连接到数据库,它说它正在使用
com.mysql.jdbc.Driver
驱动程序,所以它必须在计算机上,所以现在真的很烦人


任何帮助都将非常感谢。

在尝试连接到数据库之前,请确保将MySQL JDBC驱动程序加载到类路径中


DriverManager
将自动加载驱动程序类
com.mysql.jdbc.driver

在尝试连接到数据库之前,确保将mysql jdbc驱动程序加载到类路径中


DriverManager
将自动加载驱动程序类
com.mysql.jdbc.driver

如果没有包含驱动程序,请尝试

// Connect to the database
    try {
        Class.forName("com.mysql.jdbc.Driver");
        Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/schema_name", "root", "");
    }
   catch(ClassNotFoundException ex) {
        JOptionPane.showMessageDialog(null, "Driver not found\n"+ ex);
        System.exit(0);
    }
    catch(SQLException ex) {
        JOptionPane.showMessageDialog(null,  ex);
        System.exit(0);
    }

这就是所谓的
在运行时加载类

如果不包括驱动程序,请尝试

// Connect to the database
    try {
        Class.forName("com.mysql.jdbc.Driver");
        Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/schema_name", "root", "");
    }
   catch(ClassNotFoundException ex) {
        JOptionPane.showMessageDialog(null, "Driver not found\n"+ ex);
        System.exit(0);
    }
    catch(SQLException ex) {
        JOptionPane.showMessageDialog(null,  ex);
        System.exit(0);
    }

这就是所谓的“在运行时加载类”

您还需要确保在编译时将驱动程序添加到类路径中。现在应该不需要使用
Class.forName
DriverManager
如果类正确地位于类路径上,就应该处理它。@Boristespider在我的环境变量路径中,我有“C:\Program Files\Java\jre7\lib\ext”,其中有我的“mysql-connector-Java-5.1.25-bin”,但我仍然得到相同的异常。@David检查JAR是否已损坏。作为补充说明,我将把JAR文件移动到应用程序本身的类路径中,而不是将其放在JRE扩展库目录中。我将尝试这样做。但是有一件事,当我将这个jar文件本身移动到一个新位置时,它如何知道它附带的所有其他文件在哪里?com.mysql.jdbc文件夹中的文件?您还需要确保在编译时将驱动程序添加到类路径。现在应该不需要使用
Class.forName
DriverManager
如果类正确地位于类路径上,就应该处理它。@Boristespider在我的环境变量路径中,我有“C:\Program Files\Java\jre7\lib\ext”,其中有我的“mysql-connector-Java-5.1.25-bin”,但我仍然得到相同的异常。@David检查JAR是否已损坏。作为补充说明,我将把JAR文件移动到应用程序本身的类路径中,而不是将其放在JRE扩展库目录中。我将尝试这样做。但是有一件事,当我将这个jar文件本身移动到一个新位置时,它如何知道它附带的所有其他文件在哪里?com.mysql.jdbc文件夹中的文件?驱动程序在类路径中吗?驱动程序在类路径中吗?