2010-05-11 9 views
5

Estoy usando JDBC para conectarme a mi base de datos de acceso de microsoft. me sale el siguiente excepción cuando intento conectar a la base de datos:incompatibilidad de arquitectura entre el controlador y la aplicación?

java.sql.SQLException: [Microsoft] [Administrador de controladores ODBC] El DSN especificado contiene un desajuste entre la arquitectura de controlador y la aplicación

Estoy usando Windows 7 de 64 bits, y estoy usando eclipse, que también es una versión de 64 bits Mi base de datos es de acceso de Microsoft y parece que el controlador es un controlador de 32 bits que está causando el problema.

Cualquier ayuda sobre cómo resolver este problema sería muy apreciada.

Respuesta

4

Salida del acceso 2010 Redist

Microsoft Access Database Engine 2010 Redistributable

Esta descarga se instalará un conjunto de componentes que pueden ser utilizados por las aplicaciones que no son de Microsoft Office para leer datos desde y escribir datos en Office 2010 archivos de sistema tales como archivos de Microsoft Access 2010 (mdb y accdb) y archivos de Microsoft Excel 2010 (xls, xlsx y xlsb). La conectividad a los archivos de texto también es compatible. Los controladores ODBC y OLEDB se instalan para que los desarrolladores de aplicaciones los utilicen en el desarrollo de sus aplicaciones con conectividad a los formatos de archivo de Office.

Esto debería satisfacer sus necesidades. ¡Buena suerte!

+0

Gracias por su respuesta. Estoy usando Microdoft Office 2006 ¿Esto es importante? Dice en las instrucciones en la página de descargas que: (Si es desarrollador de aplicaciones que usa ODBC para conectarse a datos de Microsoft Office Access, configure Connection String en "Driver = {Microsoft Access Driver (* .mdb, * .accdb) }; DBQ = ruta al archivo mdb/accdb ") mi código actualmente se conecta de la siguiente manera: \t Class.forName (" sun.jdbc.odbc.JdbcOdbcDriver "); connection = DriverManager.getConnection (" jdbc: odbc: users "); No estoy seguro de dónde poner la cadena de conexión que se menciona en las instrucciones? Gracias de nuevo – shane87

+0

Cambie los parámetros de DriverManager.getConnection a la cadena de conexión, utilice el siguiente ejemplo como referencia. Incluye su cadena de conexión: http : //www.rgagnon.com/javadetails/java-0107.html Si eso funciona, una respuesta positiva y aceptada sería agradable;) y si no, dame un grito. – Yoda

+0

Y estoy bastante seguro de que los controladores serán compatibles con versiones anteriores, por lo que no debería ser un problema. – Yoda

0

Aún no tengo la reputación suficiente para votar por Yoda, pero debo decir que su solución es la más elegante que he encontrado. También podría haber usado una JVM de 32 bits, pero eso es un poco tonto. (Si encuentra esto en IIS, puede hacer que el grupo de aplicaciones sea de 32 bits, que es más o menos lo mismo.)

Cuestiones relacionadas