Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Antonio715 en 03 de Noviembre 2016, 23:48

Título: java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver java a Access
Publicado por: Antonio715 en 03 de Noviembre 2016, 23:48
Código: [Seleccionar]
package softwaredeveloper;


import java.sql.*;


public class SoftwareDeveloper {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
       
       
        try{
       
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
           
            Connection conn = DriverManager.getConnection("jdbc:odbc:DEVELOPER");
           
            Statement st = conn.createStatement();
           
            ResultSet rest = st.executeQuery("SELECT * FROM developertbl");
           
            while(rest.next()){
            System.out.println (rest.getString(1));
            System.out.println (rest.getString(2));
            }
       
        }
       
        catch(ClassNotFoundException cnfe){
            cnfe.printStackTrace();
        }
       
        catch(SQLException sqle){
            sqle.printStackTrace();
        }
       
       
       
       
    }
   
}



Ese es el código y este es el run:

run:
java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
   at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
   at java.lang.Class.forName0(Native Method)
   at java.lang.Class.forName(Class.java:264)
   at softwaredeveloper.SoftwareDeveloper.main(SoftwareDeveloper.java:25)
BUILD SUCCESSFUL (total time: 0 seconds)

La DNS que agregué:

Ventana administrador de orígenes de datos ODBC, pestaña DNS de sistema, Orígenes de datos de sistema: nombre DEVELOPER, controlador Microsoft Access Driver (*.mdb) Como información aparece "Un origen de datos de sistema ODBC almacena información acerca de cómo conectarse al proveedor de datos indicado. Un origen de datos de sistema es visible para todos los usuarios de este equipo incluidos los servicios NT".

Por qué no funciona? por qué dice BUILD SUCCESSFUL si no funciona? qué falla? he probado ya mil configuraciones de la conexión, es algo con el conector o no sé..
Si alguien tiene una idea que lo diga..

Gracias

Pd: lo he hecho todo igual que en este video https://www.youtube.com/watch?v=mJcB8KbqyPk
Título: Re:Conexion java a Access conectar a una base de datos con JdbcOdbcDriver
Publicado por: Ogramar en 20 de Noviembre 2016, 20:16
Buenas, con el código que estás usando el programa se detiene en esta línea donde salta el error:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

La excepción se produce en Java 8 porque en esta versión de Java se ha eliminado la clase que servía de controlador "sun.jdbc.odbc.jdbcodbcdriver". Esta clase es necesaria para conectar con por ejemplo Microsoft Access, pero desafortunadamente no se puede utilizar desde la versión 8 de Java. Para solucionar este error hay que recurrir a usar una biblioteca como Jackcess u otra o un controlador comercial como HXTT u otro.

Salu2