jdbcodbcdriver java jdbc-odbc java-8

java - jdbcodbcdriver - jdbc-odbc bridge driver download



EliminaciĆ³n del puente JDBC ODBC en java 8 (6)

¿Hay alguna otra solución que conecte JDBC-ODBC Bridge?

Las posiciones oficiales de Sun y Oracle han sido durante mucho tiempo eso:

el puente [JVM-bundled] JDBC-ODBC debe considerarse una solución de transición [...] Oracle no admite el puente JDBC-ODBC.

Sin embargo, mi empleador, OpenLink Software , ha producido Puentes Tipo 1 comerciales de nivel empresarial entre JDBC y ODBC desde JVM 1.0, y estos son totalmente compatibles con el JVM 1.8 actual. Puedes aprender más aqui --

A partir de Java 8, el puente JDBC-ODBC ya no se incluirá con el JDK.

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // classNotFoundException is thrown

¿Hay alguna otra solución que conecte JDBC-ODBC Bridge?


Bueno, en mi opinión, esta entrada de blog de un empleado de Oracle lo dice todo:

Le recomendaría que utilice un controlador JDBC proporcionado por el proveedor de su base de datos o un controlador JDBC comercial en lugar del puente JDBC-ODBC.

¿Para qué tipo de aplicación está utilizando el puente JDBC-ODBC?

  • Si se trata de un código de producción, en mi humilde opinión debe reemplazar el puente con un controlador real y la base de datos heredada con una verdadera.
  • Si es un código de prueba que interactúa con un Access DB, una hoja de cálculo de Excel o cualquier otra cosa a la que pueda acceder a través de ODBC, intente reemplazarlo con una base de datos Java pura como H2
  • Si lo usa para acceso ad-hoc a los DB de acceso heredados para, por ejemplo, desarrollo y / o propósitos analíticos, y realmente no puede o no quiere actualizar nada, puede mantener un JDK 7 por bastante tiempo. hasta su fecha de fin de vida y probablemente mucho más allá de eso

Encontré una solución razonable que permite el uso del código existente con un cambio solo para abrir la lógica de conexión de la base de datos.

UCanAccess es un controlador JDBC de fuente abierta.

http://ucanaccess.sourceforge.net/site.html

Eso tiene dos dependencias, una de las cuales tiene dos dependencias más.

jackcess-2.0.0.jar o posterior

commons-lang-2.4.jar commons-logging-1.0.4.jar

hsqldb.jar (2.2.5)

Esos son todos de código abierto. Haga una búsqueda en Internet, descargue, descomprima si es necesario y coloque los cuatro jar más el de UCanAccess en un directorio de su proyecto (por ejemplo, JDBC-to-MSAccess). Si usa Ecplise, agregue a su ruta de compilación eligiendo desde el menú "Proyecto / Propiedades / Compilador Java / Bibliotecas / Agregar JAR Externos" y seleccione los cinco archivos jar.

La lógica de conexión es realmente simple:

String strConnectionString = ""; Connection conAdministrator = null; // Register driver Class.forName( "net.ucanaccess.jdbc.UcanaccessDriver" ); // System.getProperty( "user.dir" ) => Current working directory from where application was started strConnectionString = "jdbc:ucanaccess://" + System.getProperty( "user.dir" ) + "//Your-database-name.<mdb or accdb>"; // Open a connection to the database conAdministrator = DriverManager.getConnection( strConnectionString );




Todavía podemos usar JDBC-ODBC Bridge en Java 8 también, solo sigue esta receta simple:

  1. Descargue un JDK 7 o JRE 7.
  2. Ir a la carpeta JRE / lib y encontrar el rt.jar
  3. Descomprímelo (si tiene WinRAR o 7zip instalado) o puede cambiarle el nombre a rt.zip y descomprimirlo.
  4. Copie las carpetas sun / jdbc y sun / security / action, mantenga la estructura de la carpeta. es decir, debe tener la estructura de carpetas como a continuación:

    Sun --> Security --> Action --> JDBC

  5. Abra una ventana de CMD. Vaya a la carpeta principal de la carpeta Sun. Ejecute el comando: jar -cvf jdbc.jar sun

  6. El comando anterior creará un archivo llamado jdbc.jar
  7. Copie JDBC.jar a su carpeta de lib JDK8 o JRE8. Si eso no funciona, pruebe la carpeta lib/ext .
  8. Copie jdbcodbc.dll de JRE / bin de su instalación de JRE 7 en JRE / bin de su instalación de JRE 8.
  9. Reinicia tu JVM.

Cómo habilitar el puente JDBC-ODBC para JDK 8