【发布时间】:2019-04-05 14:59:47
【问题描述】:
我有一个动态 Web 项目的问题,我已经遇到这个错误几个星期了,我无法解决它,它与 jdbc 驱动程序有关。
public class DatosDAO {
private String url = "jdbc:mysql://localhost:3306/BCopia";
private String usuario = "root";
private String password = "";
public DatosDAO() {}
public boolean alta(Datos d) {
try {
Connection con = DriverManager.getConnection(url,usuario,password);
PreparedStatement ps = con.prepareStatement("INSERT INTO datos VALUES (null, ?, ?, ?, ?)");
ps.setString(1, d.getNombre());
ps.setString(2, d.getDirectorioOrigen());
ps.setString(3, d.getDirectorioDestino());
ps.setInt(4, d.getIntervaloDias());
ps.executeUpdate();
con.close();
} catch (Exception ex) {ex.printStackTrace();return false;}
return true;
}}
尝试运行此方法或任何其他方法时。我收到以下错误。
java.sql.SQLException:找不到合适的驱动程序 jdbc:mysql://localhost:3306/BCopia 在 java.sql.DriverManager.getConnection(Unknown Source) 在 java.sql.DriverManager.getConnection(Unknown Source) 在 模型.DatosDAO.baja(DatosDAO.java:44) 在 control.Securalia.baja(Securalia.java:43) 等
我在 lib 中有驱动程序,并在构建路径中调用了驱动程序以及其他所有内容,它是一个动态 Web 项目。有人可以告诉我会发生什么吗? DB存在等。
【问题讨论】:
-
您使用的驱动文件是什么(jar 名称),如果您使用的是任何类型的 IDE,它在构建路径中的 jar 文件是什么?
-
您似乎没有在类路径中设置 JDBC 驱动程序。
-
我正在使用这个驱动程序:mysql-connector-java-5.1.35,是的,它在构建路径中
-
您确实应该在 Web 应用程序中使用数据源,而不是
DriverManager。在任何情况下:确保驱动程序部署在您的应用程序服务器或WEB-INF/lib中(在这种情况下,您需要显式加载驱动程序)。 -
驱动在 lib 中并带有构建路径