2012-08-31 18 views
7

Ho un nuovo laptop a 64 bit e ho installato STS 64-bit e Java 64-bit. Sto cercando di creare una connessione ODBC a un database Microsoft da 32-bi; tuttavia, gli strumenti di amministrazione predefiniti non forniscono un driver per l'accesso. Dopo aver cercato su google, ho visto che esiste uno strumento di amministrazione per la creazione di driver a 32 bit in C: \ Windows \ SysWOW64 \ odbcad32.exe. Tuttavia, una connessione ODBC creata da quello che mi dà un messaggio di errore che indica un disallineamento di architettura quando eseguo il programma:64-bit Java non può accedere al database MS Access a 32 bit via ODBC

"[Microsoft] [Gestore driver ODBC] Il DSN specificato contiene un'incompatibilità di architettura tra il driver e l'applicazione"

Penso che sia perché il 64-bit Java sta cercando di utilizzare il driver a 32 bit. Per aggirare il problema, ho provato a inserire l'argomento "-D32" negli argomenti VM, ma ho ottenuto lo stesso risultato.

Sto pensando di disinstallare STS e Java e di sostituirli con le versioni a 32 bit. C'è una soluzione migliore?

+0

C'è un driver a 64 bit gratuito per MS Access, sarebbe adatto? http://www.microsoft.com/en-us/download/details.aspx?id=13255 – Fionnuala

+0

Ho appena letto su di esso, ma gli utenti dicono che è bacato. –

+0

Quali utenti? In questa fase ha due anni e la versione 2013 è in arrivo. Immagino che qualsiasi commento su buggy-ness provenga dal passato. – Fionnuala

risposta

3

Per caricare una libreria nativa a 32 bit è necessario disporre di una JVM a 32 bit.

Non è necessario disinstallare Java, è possibile disporre di tutte le versioni installate.

È possibile utilizzare la JVM a 64 bit per parlare con una JVM a 32 bit che carica il driver, ma potrebbe essere più complicato del necessario.

+0

Verificherò se posso eseguire il jvm a 32 bit dal STS a 64 bit ... –

+1

Come sospettavo , alla fine ho appena installato la versione a 32 bit di STS e Java e ora funziona. Ho provato a cambiare STS.ini sulla versione a 64 bit per puntare al JDK a 32 bit, ma non ha funzionato. –

+0

@PeterLawrey: Non l'ho mai capito. È possibile utilizzare una dll a 32 bit in un PC a 64 bit ma non è possibile utilizzarlo con una JVM a 64 bit. Ma come mai? – Cratylus

Problemi correlati