Java - error al cargar el driver conexion con SQL Server

 
Vista:
sin imagen de perfil

error al cargar el driver conexion con SQL Server

Publicado por Paula (1 intervención) el 30/05/2018 04:19:43
buenas noches.

estoy realizando una aplicacion jaca con conexion a SQL-server, tengo un codigo inicial sin embargo al momento de guardar un registro me sale error:

"error al cargar el driver"
"com.microsoft.sqlserver.jdbc.SQLServerDriver"


la aplicación la estoy realizando en capas de la siguiente forma: tengo tres paquetes, DATOS, LOGICO, PRESENTACION.

en presentacion es el inicio donde utilizamos el boton "Agregar" con el siguiente codigo

1
2
3
4
5
6
7
8
9
10
11
12
private void Btn_Agregar_esActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    Dtd_Estudiante datoAlumno = new Dtd_Estudiante();
    Alumno alumno = new Alumno();
    alumno.setCedula(Txt_Cedula_es.getText());
    alumno.setNombre(Txt_Nombre_es.getText());
    alumno.setApellido(Txt_Apellido_es.getText());
    alumno.setDireccion(Txt_Direccion_es.getText());
    alumno.setFecha_Nac(Txt_Fecha_Nac_es.getText());
    alumno.setGenero(Txt_Genero_es.getText());
    datoAlumno.agregaPersona(alumno);
}

en la carpeta logica tengo el constructor, setters, getters y la invocacion de los metodos para almacenar en la base de datos.

el siguiente codigo es el usado para guardar en la base de datos.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public class Dtd_Estudiante {
 
    private Connection conex = new Datos.Conexion_BD().getConection();
    private String cadena;
    private Statement stmt = null;
    private PreparedStatement pstm = null;
    private ResultSet rs = null;
 
    public void agregaPersona(Alumno alumno) {
        try {
            stmt = conex.createStatement();
              cadena = "INSERT INTO Tbl_Alumnos Values ( ?, ?, ?, ?, ?, ?)";
            pstm = conex.prepareStatement(cadena);
            pstm.setString(1, alumno.getCedula());
            pstm.setString(2, alumno.getNombre());
            pstm.setString(3, alumno.getApellido());
            pstm.setString(4, alumno.getDireccion());
            pstm.setString(5, alumno.getFecha_Nac());
            pstm.setString(6, alumno.getGenero());
            pstm.executeUpdate();
        } catch (SQLException ex) {
            System.out.println("error al ejecutar" + cadena);
            System.out.println(ex.getMessage());
        }
 
    }
}

y por ultimo el archivo en la carpeta Datos que genera la conexión con la base de datos.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class Conexion_BD {
 
    private Connection con = null;
 
    public Connection getConection() {
        String url = "jdbc:sqlserver://localhost:1433;databaseName=Estudiante";
        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        } catch (ClassNotFoundException e) {
            System.out.println("error al cargar el driver");
            System.out.println(e.getMessage());
            System.exit(1);
        }
        try {
            con = DriverManager.getConnection(url, "sa", "123");
        } catch (SQLException sqlEx) {
            System.out.println("error al comunicarse la base de datos");
            System.out.println(sqlEx.getMessage());
            System.exit(1);
        }
        System.out.println("listo");
        return con;
    }
 
}

POR FAVOR NO SE QUE MAS PUEDO ORGANIZAR O QUE ME FALTA EN EL CODIGO PARA QUE NO ME GENERE ESE ERROR
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

error al cargar el driver conexion con SQL Server

Publicado por Costero (148 intervenciones) el 03/06/2018 21:45:03
El error no dice mucho, solo que hay un problema con el driver.

En vez de utilizar esto:

1
System.out.println(e.getMessage());

utilizas esto:

1
e.printStackTrace();

Asi imprime el error completo.

Ahora creo que el problema debe estar que tu programa no esta encontrando el jar del driver en tu classpath.


Salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar