Buenos días.
He compilado un proyecto con NetBeans 8.0.2 que consiste en realizar la importación de la información
de un archivo de Excel a una base de datos de MS Access. en el IDE se realizan la operacionr de forma exitosa,
sin embargo, al realizar la compilación del código fuente para obtener el ejecutable .jar, aparece la Excepcción
Java.lang.ClassNotFoundException, indicando que no se encuentra el puente de conexión entre
Java y ODBC.
¿Existe alguna configuración del IDE que esté omitiendo que no me permita realizar la conexión?
¿Existe otra alternativa para conectarse con Java y Access?
El código fuente ya verificado en NetBeans es éste:
package Controlador;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.swing.JOptionPane;
public class Conexion {
public static Connection conectar(String xPath) {
/*Validación de archivo Access*/
String extensionBD=xPath.substring(xPath.lastIndexOf("."));
if(extensionBD.equals(".mdb")||extensionBD.equals(".accdb")){
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + xPath;
Connection conn = DriverManager.getConnection(url, "", "");
System.out.println("Conexión Exitosa con la base "+xPath+" (Extensión: "+extensionBD+")");
return conn;
} catch (SQLException sql) {
sql.printStackTrace();
JOptionPane.showMessageDialog(null, "La Base de datos seleccionada está dañada, no es la base de datos del SAEH, "
+ "o no se encuentras los campos necesario para insertar, favor de verificar, ","Aviso de Base de datos",2);
return null;
} catch (ClassNotFoundException ex) {
JOptionPane.showMessageDialog(null, "Error de conexión con la Base de datos","Atención BD",0);
JOptionPane.showMessageDialog(null, ex,"Error",0);
return null;
}
}
else{
JOptionPane.showMessageDialog(null, "La extensión "+extensionBD+" no es válida. "
+ "Seleccione un archivo de base de datos válido");
return null;
}
}
}
De antemano muchas gracias.