333 messaggi dal 05 novembre 2012
Ciao,

fai una verifica sul pc dove il tuo applicativo sta funzionando...se vai nell'elenco dei programmi installati trovi "Microsoft Access database engine" (Motore di database di Microsoft Access)?
fai la stessa verifica sul pc dove non funziona

tra i due pc la versione di visual studio è la stessa?

/Ciao
Modificato da scioCoder il 27 marzo 2019 12:11 -

Alessio
8 messaggi dal 26 marzo 2019
Ciao Alessio,

nei computers è installato Visual Studio 2017, Access 2016 (64 bit).

Dove non funziona, ci sono installati sia Database Engine 2010 che Database Engine 2016.

Dove funziona invece c'è installato Database Engine 2007.

Carlo
333 messaggi dal 05 novembre 2012
Ciao Carlo,

il fatto che funzioni con la versione 2007 sembra confermare che il tuo applicativo sta cercando la versione a 32bit e sulla macchina dove non funziona c'è la versione a 64bit (2010).

Per avere il maggior livello di compatibilità la configurazione ideale è versione 2010 del motore database e provider Microsoft.ACE.OLEDB.12.0.

A questo punto due possibili soluzioni sono:

- Installi anche la versione a 32bit
- Forzi l'applicativo a girare su 64bit

Eventualmente se decidi di installare la versione 32bit...

Il file di installazione lo trovi qui
https://www.microsoft.com/it-it/download/details.aspx?id=13255

Fai attenzione, se esegui normalmente l'installer si blocca avvisandoti che non può proseguire causa versione 64bit già installata. Per ovviare a questo problema esegui l'installazione da riga di comando passando il parametro /passive
AccessDatabaseEngine.exe /passive


Facci sapere

/Ciao
Modificato da scioCoder il 28 marzo 2019 21:52 -

Alessio
8 messaggi dal 26 marzo 2019
Ciao,
nel computer dove non funziona posso disinstallare il Database Engine 2016 e mantenere il Database Engine 2010 (in realtà mi sembra però di avere provato con il Database Engine 2010 prima di installare il Database Engine 2016 e non funzionava). Questa modifica la posso provare solo lunedì.

Sono comunque dell'idea che il problema potrebbe essere legato al file ACEODBC.DLL che nel computer dove funziona ha la data del 15.01.2019 (con la versione del driver 16.00.4759.1000), mentre nei computers (si tratta di un laboratorio) dove non funziona ha la data 07.03.2017 (con la versione del driver 16.00.4513.1000),
solo che non so come scaricarlo.

Grazie.

Carlo
333 messaggi dal 05 novembre 2012
Ciao,

nel computer dove non funziona posso disinstallare il Database Engine 2016 e mantenere il Database Engine 2010 (in realtà mi sembra però di avere provato con il Database Engine 2010 prima di installare il Database Engine 2016 e non funzionava). Questa modifica la posso provare solo lunedì.

non è tanto un problema di 2010 o 2016 quanto un problema di 32 o 64 bit
come ti ho scritto in precedenza puoi installare la versione 2010 32bit e verificare se l'applicativo funziona

Sono comunque dell'idea che il problema potrebbe essere legato al file ACEODBC.DLL che nel computer dove funziona ha la data del 15.01.2019 (con la versione del driver 16.00.4759.1000), mentre nei computers (si tratta di un laboratorio) dove non funziona ha la data 07.03.2017 (con la versione del driver 16.00.4513.1000),
solo che non so come scaricarlo.

qualche post fa Moreno ti ha fatto notare che ODBC e OLEDB sono due provider diversi, questo concetto deve essere chiaro.
nel computer dove funziona hai detto di avere la versione database engine 2007 (esiste solo la versione a 32bit) e secondo me è per questo che funziona.

A livello generale, la scelta del provider e della relativa versione è dettato dal contesto applicativo, se non hai particolari indicazioni utilizza la versione 2010 di motore e Microsoft.ACE.OLEDB.12.0 come provider, questa accoppiata è quella che ti permette la maggior compatibilità

/Ciao

Alessio
11.886 messaggi dal 09 febbraio 2002
Contributi
Falkon, puoi far vedere la connection string che stai usando? Fai vedere anche il codice in cui crei l'oggetto connection e chiami il metodo Open per aprire la connessione.

Enjoy learning and just keep making
8 messaggi dal 26 marzo 2019
Ciao,

il problema è stato risolto come mi aveva consigliato Alessio.

In pratica ho rimosso DatabaseEngine 2016 e DatabaseEngine 2010 (che era nella versione 64 bit) e ho installato DatabaseEngine 2010, versione 32 bit, in modalità passive.

In realtà c'era il problema di Visual Studio 2017 che viene eseguito a 32 bit e non a 64 bit.

Riepilogando: nel computer che aveva problemi sono installati: Windows 10, Access 2016, Visual Studio 2017 e DataBaseEngine 2010 a 32 bit.

Grazie per l'aiuto. A risentirci.

Carlo

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.