Java 没有找到适合jdbc:mysql的驱动程序

Java 没有找到适合jdbc:mysql的驱动程序,java,mysql,jdbc,Java,Mysql,Jdbc,正在尝试连接到允许远程连接的免费mysql数据库主机,但出现以下错误: 未找到适合jdbc的驱动程序:mysql://xx2-23-x1-2x1-172.compuxe-1.xmazonaws.com:3306我使用下面的代码 try{ Class.forName("com.mysql.jdbc.Driver"); System.out.println("Driver loaded"); } catch(ClassNotFoundException e){

正在尝试连接到允许远程连接的免费mysql数据库主机,但出现以下错误:

未找到适合jdbc的驱动程序:mysql://xx2-23-x1-2x1-172.compuxe-1.xmazonaws.com:3306

我使用下面的代码

 try{
      Class.forName("com.mysql.jdbc.Driver");
    System.out.println("Driver loaded");
    }
    catch(ClassNotFoundException e){
        System.out.println(e.getMessage());
    }
    try{
       String host = "jdbc:mysql://xx2-23-x1-2x1-172.compuxe-1.xmazonaws.com:3306/xxxxx";
        conn = DriverManager.getConnection(host,"xxxxx","xxxxx");
        System.out.println("Connection Established");
    }
提前谢谢。

编辑

堆栈跟踪如下所示:
java.sql.SQLException:未找到适合jdbc的驱动程序:mysql://xx2-23-x1-2x1-172.compuxe-1.xmazonaws.com:3306 java.sql.SQLException: No suitable driver found for jdbc:mysql://xx2-23-x1-2x1-172.compuxe-1.xmazonaws.com:3306 at java.sql.DriverManager.getConnection(DriverManager.java:604) at java.sql.DriverManager.getConnection(DriverManager.java:221) at DatabaseConnectivityModule.(DatabaseConnectivityModule.java:21) at UserFrontEnd.(UserFrontEnd.java:34) at UserFrontEnd$8.run(UserFrontEnd.java:399) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:701) at java.awt.EventQueue.access$000(EventQueue.java:102) at java.awt.EventQueue$3.run(EventQueue.java:662) at java.awt.EventQueue$3.run(EventQueue.java:660) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:671) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139) at java.awt.EventDispatchThread.run(EventDispatchThread.java:97) 位于java.sql.DriverManager.getConnection(DriverManager.java:604) 位于java.sql.DriverManager.getConnection(DriverManager.java:221) 在DatabaseConnectivityModule上。(DatabaseConnectivityModule.java:21) 在UserFrontEnd。(UserFrontEnd.java:34) 在UserFrontEnd$8.run(UserFrontEnd.java:399) 在java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)中 位于java.awt.EventQueue.dispatchEventImpl(EventQueue.java:701) 在java.awt.EventQueue.access$000(EventQueue.java:102) 在java.awt.EventQueue$3.run(EventQueue.java:662) 在java.awt.EventQueue$3.run(EventQueue.java:660) 位于java.security.AccessController.doPrivileged(本机方法) 位于java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) 位于java.awt.EventQueue.dispatchEvent(EventQueue.java:671) 位于java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244) 在java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)中 位于java.awt.EventDispatchThread.PumpeEventsforHierarchy(EventDispatchThread.java:151) 位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147) 位于java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139) 位于java.awt.EventDispatchThread.run(EventDispatchThread.java:97)

您应该使代码如下所示:

try {
    Class.forName("com.mysql.jdbc.Driver");
    String host = "jdbc:mysql://xx2-23-x1-2x1-172.compuxe-1.xmazonaws.com:3306/xxxxx";
    conn = DriverManager.getConnection(host,"xxxxx","xxxxx");
} catch (Exception e) {
    e.printStackTrace();
}

还要验证MySQL JDBC库是否在类路径中。该库可以从下载。

检查:-MySQL JDBC驱动程序必须位于类路径上。您正在捕获
ClassNotFoundException
然后打印消息,您在控制台上看到了什么吗?顺便说一句,您应该用一个try-catch块来包围您的完整代码。我将使用单try-catch块建议,问题是我没有看到控制台上出现任何其他弹出窗口。@RichardKennethriescio放入一个try-catch,然后对捕获的异常使用e.printStackTrace(),应该在错误流上打印堆栈跟踪