Maison >Java >javaDidacticiel >Java `ClassNotFoundException : sun.jdbc.odbc.JdbcOdbcDriver` : pourquoi et comment y remédier ?
Lors de la tentative de connexion à une base de données MS Access à l'aide d'un DSN en Java , une exception courante rencontrée est java.lang.ClassNotFoundException : sun.jdbc.odbc.JdbcOdbcDriver. Ce problème se produit pour plusieurs raisons.
L'exception ClassNotFoundException est généralement levée lorsque la machine virtuelle Java (JVM) ne peut pas localiser la classe spécifiée, dans dans ce cas, le sun.jdbc.odbc.JdbcOdbcDriver. Pour résoudre ce problème, assurez-vous que le fichier JAR du pilote JDBC-ODBC est inclus dans le chemin de classe de votre application.
Pour Java 8 et supérieur, le pilote JDBC -ODBC Bridge a été obsolète et supprimé. Par conséquent, tenter d'utiliser l'instruction Class.forName() pour sun.jdbc.odbc.JdbcOdbcDriver entraînera l'exception susmentionnée.
Pour Java versions 8 et supérieures, l'approche recommandée pour se connecter aux bases de données Access consiste à utiliser des pilotes JDBC alternatifs tels que UCanAccess. Voici un extrait de code mis à jour utilisant UCanAccess :
import net.ucanaccess.jdbc.UcanaccessDriver; // ... try { Class.forName("net.ucanaccess.jdbc.UcanaccessDriver"); // for MS Access with UCanAccess driver String conURL = "jdbc:ucanaccess://path/to/database.mdb"; Connection con = DriverManager.getConnection(conURL); // ... } catch (ClassNotFoundException ex) { // Handle exception }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!