我试图访问mysql数据库,但是我收到了以下错误:
No suitable driver found for jdbc:mysql//localhost:3306/...
我知道这个问题已经被提出,但我还没有用现有主题中的解决方案解决我的问题。我重用了两年前工作的连接类。
我改变了我的电脑并重新安装了wamp和eclipse,并且具有良好构建路径配置的完全相同的类并不起作用。这是我用来连接的代码:
Connection connection = null;
public java.sql.Statement stmt = null;
public java.sql.PreparedStatement prStmt;
public ResultSet rs = null;
public DbConnex(String sgbd, int port, String dbName, String user, String pass){
String DbInfo = String.format("jdbc:%s//localhost:3306/%s", sgbd, dbName);//jdbc:mysql://address=(protocol=tcp)(host=localhost)(port=3306)/nekogame
//jdbc:%s//localhost:3306/%s
//test trouver le driver
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println("Where is your MySQL JDBC Driver?");
e.printStackTrace();
return;
}
System.out.println("MySQL JDBC Driver Registered!");
//test connexion
try {
connection = DriverManager
.getConnection(DbInfo, user, pass);
} catch (SQLException e) {
System.out.println("Connection Failed! Check output console");
e.printStackTrace();
return;
}
if (connection != null) {
System.out.println("it's all good!");
} else {
System.out.println("Failed to make connection :( !");
}
}
这是输出,显示我的驱动程序已被识别:
"MySQL JDBC Driver Registered! Connection Failed! Check output console"
问题似乎发生在getConnection
上。我验证了参数,并下载了最新的驱动程序。我也有最新的wamp应该嵌入最新的MySQL。现在我不知道该怎么做。
答案 0 :(得分:1)
找不到合适的jdbc驱动程序:mysql // localhost:3306 /
正确的连接字符串是,:
之后,您错过了冒号( mysql
)。所以,它应该是
jdbc:mysql://localhost:3306/<dbname>
所以,你需要在这里做出改变
String.format("jdbc:%s//localhost:3306/%s", sgbd, dbName);
相反,它应该是
String.format("jdbc:%s://localhost:3306/%s", sgbd, dbName);