suitable - Cómo conectar MySQL al programa Java
no suitable driver found for jdbc:mysql (4)
Aquí hay un extracto de tu código:
} catch (Exception e) {
System.out.println("Couldnt get connection");
}
Nunca debe suprimir excepciones siempre que no comprenda su causa. Reemplácelo por al menos:
} catch (Exception e) {
System.out.println("Could not get connection");
e.printStackTrace();
}
O tal vez
} catch (Exception e) {
throw new RuntimeException("Could not get connection", e);
}
De cualquier manera, debería ver el tipo de excepción, mensaje y rastreo. En su fragmento de código, las posibles excepciones son ClassNotFoundException
y SQLException
. El primero significaría que el controlador no está colocado correctamente en el classpath. El segundo significaría que la conexión no puede ser obtenida. El mensaje de excepción y / o el seguimiento deben indicar en detalle la causa raíz subyacente del problema.
Siempre debes observar excepciones. Dicen algo sobre la causa del problema. Ya sabes, una vez que se entiende una causa, la solución no es más que obvia :)
Ver también:
- Tutorial breve de MySQL / JDBC : contiene una explicación sobre las causas de excepción.
Promover,
¿Alguien puede decirme que wat significa URL en la línea de abajo?
Una URL es un localizador uniforme de recursos . Es una forma común de localizar (identificar) recursos únicos en sistemas y redes de computadoras. La sintaxis de URL para la base de datos MySQL se explica en la documentación del controlador JDBC .
¿Me puede decir que wat es el propósito de MySQL Connector / J?
Es el controlador JDBC. La API JDBC existe de interfaces casi únicas. Los proveedores de DB deberían proporcionar su propia implementación concreta de JDBC API, que es el controlador JDBC. Con un controlador JDBC, podrá conectar una base de datos específica utilizando la API JDBC.
He instalado MySQL (última actualización). Necesito codificar, crearé y estableceré una conexión con SQL DB y administraré la base de datos (usando SELECT, INSERT, CREATE).
Hice todo pero, no puedo crear una conexión. También instalé el conector MySQL / J, acabo de extraer el paquete .zip
en una carpeta y agregué la ruta de la carpeta en Variables ).
¿Alguien puede decirme que wat significa URL en la línea de abajo?
Connection connection = DriverManager.getConnection(url, username, password);
He intentado esto:
String url = "jdbc:odbc:sqlserver://localhost:3306/myfirstdb";
Connection con = DriverManager.getConnection(url, "root", "1234");
Pero no está funcionando. No puedo entender el término ''URL''. ¿Alguien puede explicar, el significado de ''url'' y wat debe hacerse para conectarse a un servidor SQL de Java.
Actualizar:
Este es el código completo. Todavía no puede conectarse.
import java.sql.*;
public class TestDriver {
public static void main(String[] args) {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//This s wat actually i did for connection
System.out.println("Driver Loaded Succesfully");
}
catch (Exception e){
System.out.println("Unable to Load Driver!!!");
}
try {
Class.forName(com.mysql.jdbc.Driver"); // initialise the driver
String url ="jdbc:mysql://localhost:3306/myfirstdb";
Connection con = DriverManager.getConnection(url, "root", "1234");
System.out.println("connection Established");
}
catch(Exception e) {
System.out.println("Couldnt get connection");
}
}
}
¿Me puede decir que wat es el propósito de MySQL Connector / J?
En la pregunta, parece que está utilizando un controlador jdbc de MySQL con una URL jdbc de SQL Server. Esto no funcionará
Si está utilizando una base de datos MySQL :
Class.forName("com.mysql.jdbc.Driver"); // initialise the driver
String url ="jdbc:mysql://localhost:3306/myfirstdb";
Si está utilizando una base de datos de SQL Server, necesitará un controlador jdbc completamente diferente. jTDS es de código abierto y una buena opción. Incluya el archivo jtds.jar en su classpath y use algo como:
Class.forName("net.sourceforge.jtds.jdbc.Driver"); // initialise the driver
String url = "jdbc:jtds:sqlserver://localhost:1433/myfirstdb";
Olvidó un "en Class.forName(com.mysql.jdbc.Driver");
Debería ser
Class.forName("com.mysql.jdbc.Driver");
Si es su servidor MS SQL,
String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
Class.forName(driver);
String url = "jdbc:microsoft:sqlserver://host:1433/database";
Connection conn = DriverManager.getConnection(url, "username", "password");
Para obtener más información, consulte esto para comenzar con Microsoft JDBC.
Puede usar cualquiera de los dos controladores JDBC para MSSQL:
Para el controlador MS SQL Server 2.0, use
URL: jdbc:sqlserver://server:port; DatabaseName=dbname
Class name: com.microsoft.sqlserver.jdbc.SQLServerDriver
Para MySql y Java, vea esto en SO.