que - mysql java connection
Error de tiempo de ejecuciĆ³n: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver (6)
Soy nuevo en mysql y jdbc y obtengo el error en este título. He estado buscando todo el día y no puedo encontrar una solución que funcione para mí.
Lo que he intentado: desinstalar / reinstalar mysql, copiar pegar mysql-connector-java-5.1.25-bin.jar y ojdbc7.jar en la misma ubicación que el archivo .class que estoy tratando de ejecutar, reconstruir el programa en un directorio diferente , y probablemente un par de otras cosas.
Estoy usando Notepad ++ para la codificación y el símbolo del sistema de Windows para compilar y ejecutar. compila bien, pero trato de correr con
C: / Proyectos / bin> java -cp. Base del cliente
El resultado es:
java.lang.ClassnNotFoundException: com.mysql.jdbc.Driver
en java.net.URLClassloader $ 1.run (URLClassLoader.java:336)
en java.net.URLClassLoader $ 1.run (URLClassLoader.java:355)
en java.security.AccessController.doPrivileged (método nativo)
en java.net.URLClassLoader.findClass (URLClassLoader.java:354)
en java.lang.ClassLoader.loadClass (ClassLoader.java:432)
en sun.misc.Launcher $ AppClassLoader.loadClass (Launcher.java:308)
en java.lang.ClassLoader.loadClass (ClassLoader.java:356)
en java.lang.Class.forName0 (método nativo)
en java.lang.Class.forName (Class.java:188)
en ClientBase.main (ClientBase.java:21)
Adiós.
// import packages
import java.sql.*;
// create class ClientBase
public class ClientBase{
// JDBC driver name and database URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost/CLIENTBASE";
// Database credentials
static final String USER = "root";
static final String PASS = "";
// Begin method main
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try{
// register JDBC driver
Class.forName("com.mysql.jdbc.Driver");
// Open connection
System.out.println("Connecting to database...");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
// Execute a query
System.out.println("Creating statement...");
stmt = conn.createStatement();
String sql;
sql = "SELECT id, name, address, address 2, city, phone, state, zip, fax FROM CLIENTBASE";
ResultSet rs = stmt.executeQuery(sql);
// Extract data from result set
while(rs.next()){
// Retrieve by column name
int id = rs.getInt("id");
String name = rs.getString("name");
String address = rs.getString("address");
String address2 = rs.getString("address2");
String city = rs.getString("city");
String phone = rs.getString("phone");
String state = rs.getString("state");
String zip = rs.getString("zip");
String fax = rs.getString("fax");
// Display values
System.out.print("ID: " + id);
System.out.print(" Name: " + name);
System.out.println("Address:" + address);
System.out.println(address2);
System.out.print("City:" + city);
System.out.print(" State: " + state);
System.out.println(" Zip: " + zip);
System.out.print("Phone: " + phone);
System.out.println(" Fax: " + fax);
} // end while
// clean up
rs.close();
stmt.close();
conn.close();
}catch(SQLException se){
// Handle errors for JDBC
se.printStackTrace();
}catch(Exception e){
// Handle errors for Class.forName
e.printStackTrace();
}finally{
// finally block used to close resources
try{
if(stmt!=null)
stmt.close();
}catch(SQLException se){
se.printStackTrace();
} // end finally
} // end try
System.out.println("Goodbye.");
} // End method main
} // end class ClientBase
También debería decir que estoy saliendo de un tutorial en línea para este código. No es exactamente como lo tienen, ya que decidí hacer algo un poco diferente al de ellos, pero generalmente es el mismo. No creo que sea un problema de código a pesar de lo que es el error.
¡Cualquier ayuda sería apreciada! ¡Me estoy volviendo loco!
¿Qué importaste? De la documentación: http://dev.mysql.com/doc/connector-j/en/connector-j-usagenotes-connect-drivermanager.html
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
// Notice, do not import com.mysql.jdbc.*
// or you will have problems!
Comentario:
¿Por qué estás usando Notepad ++? instalar un IDE (Eclipse / Netbeans / IntelliJ) - será mucho más fácil localizar tales problemas (por ejemplo, jarras no incluidas)
si usa netbeans, siga 1.Open Netbeans IDE 2. Haga clic derecho en su proyecto. 3. Seleccione Propiedades. 4.En el lado izquierdo, haga clic en Bibliotecas. 5. En la pestaña "Compilar", haga clic en el botón Agregar Jar / Carpeta. 6.Seleccione el archivo "mysql-connector-java-5.1.25-bin.jar" descargado (Download Connector / J de dev.mysql.com) 7. Haga clic en Aceptar Ejecutar nuevamente ... Su trabajo.
Agregue mysql.connector-java-xxx-bin.jar
a su carpeta de bibliotecas. No es necesario importar nada. Tener una buena.
I was also get same problem :-
Cómo lo solucioné para el sistema Linux .
1.) Descargar el archivo mysql-connector-java-5.1.18-bin.jar desde un enlace dado u otro.
2.) Luego péguelo en la misma carpeta o directorio de su clase o archivo (en donde desea que se conecte)
3.) Ahora usa el siguiente comando en tu prompt de comando de Linux.
java -cp .:mysql-connector-java-5.1.18-bin.jar YourFileName
..
Eso es todo lo que necesitas hacer ... :)
Debe agregar una biblioteca de conectores a la ruta de clase Runtime:
java -cp .;mysql-connector-java-5.1.25-bin.jar ClientBase
Mi ejemplo usa el separador de ruta de clases de Windows ";"
, en otros sistemas puede ser diferente ( ":"
en Linux / Mac). También asume que mysql-connector-java-5.1.25-bin.jar
está ubicado en la misma carpeta. Si no es el caso, ingrese una ruta a la biblioteca en lugar del nombre simple.
ClientBase
significa nombre de archivo de la clase Java aquí
c:/>javac Test.java
c:/>java -cp .;F:/CK/JavaTest/JDBCTutorial/mysql-connector-java-5.1.18-bin Test
Si está utilizando Swing
tiene que agregar External Jar of my-sql-connect
de lo contrario, si está utilizando el jsp servlet
debe agregar el jar externo y copiar ese jar en la carpeta del proyecto WEB_INF / lib