[英]MYSQL No suitable driver found
我目前使用 Intellij,事實證明我正在嘗試連接到 MySQL 數據庫,但是在添加庫並使用與 MariaDB 驅動程序完美配合的連接類后,我發現問題標題中的錯誤
public void conectar() {
try {
conexion = DriverManager.getConnection(url, usuario, contraseña);
if (conexion != null) { JOptionPane.showMessageDialog(null, "Conexión establecida a : \n" + url, "ACDA2", JOptionPane.INFORMATION_MESSAGE);
Class.forName("com.mysql.jdbc.Driver");
stm = conexion.createStatement();//crea un objeto que permite enviar instrucciones a la base de datos
}
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Conexión fallida a : \n " + url, "", JOptionPane.ERROR_MESSAGE);
System.out.println(ex.getMessage());
} catch (ClassNotFoundException e) {
JOptionPane.showMessageDialog(null, "Error al cargar el driver", "", JOptionPane.ERROR_MESSAGE);
System.out.println(e.getMessage());
}
}
這些是我發送給我的班級連接的值
c= new conexion("jdbc:mysql://", "127.0.0.1/", "root", "", "sanciones"); c.conectar();
然后我詳細介紹了連接類構造函數
public conexion(String driver,String host, String usuario, String
contraseña, String baseDatos) {
this.usuario = usuario;
this.contraseña = contraseña;
this.baseDatos = baseDatos;
this.driver = driver;
this.host = host;
this.url = driver + this.host + this.baseDatos;
}
更新
驅動版本com.mysql.jdbc_5.1.5不允許隱式加載驅動,因為缺少META-INF中的Services子文件夾及其對應的內容,即使是JDBC4,在mysql手冊中也是這樣說的有可能,至少在這個特定版本中不是,問候
在獲取連接之前應調用 Class.forName
需要首先調用“Class.forName”以首先加載正確的驅動程序。試試這個,
try {
Class.forName("com.mysql.jdbc.Driver");
conexion = DriverManager.getConnection(url, usuario, contraseña);
if (conexion != null) { JOptionPane.showMessageDialog(null, "Conexión establecida a : \n" + url, "ACDA2", JOptionPane.INFORMATION_MESSAGE);
stm = conexion.createStatement();//crea un objeto que permite enviar instrucciones a la base de datos
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.