Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
[VB2010Express] Errore su connessione database MSAccess
martedì 10 aprile 2012 - 14.38
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
VB.NET
|
.NET 4.0
|
Windows 7
|
Visual Studio 2010
|
Visual Studio Express
|
Access (.mdb)
|
Office 2010
longpajr
Profilo
| Newbie
3
messaggi | Data Invio:
mar 10 apr 2012 - 14:38
Ciao a tutti!!!
Mi presento anche se è da parecchio che sono iscritto al sito.
Mi chiamo Roberto, ho 29 anni e programmo da parecchi anni (è stato un mio pallino fino dall'Amstrad 464Plus). Premetto che non ho mai avuto problemi ad interfacciarmi con i database (MSAccess 97-2003, SQL 2000 al 2008, cartelle di lavoro di Excel).
Ora sono in una situazione di stallo e non riesco a capire dove sto sbagliando.
Questa è la situazione:
- Ambiente Microsoft Windows 7 Professional 64-bit
- Microsoft Visual Basic 2010 Express Edition con SP1;
- Microsoft Office Professional Plus 2010 (64 bit);
Sto cercando di connettermi ad un database MSAccess che ho creato volutamente in versione mdb (2003) per massimizzare la compatibilità con client non "aggiornatissimi".
Ho provato ad agganciarlo ad un progetto che era già in corso d'opera ma non si connette restituendo errore di provider non specificato e di origine dati non trovata sia usando la classe OleDb che la classe Odbc ed indipendentemente dal fatto che io usi una stringa di connessione "Driver={Microsoft Access Driver (*.mdb, *.accdb)}" piuttosto che "Provider=Microsoft.ACE.OLEDB.12.0;" oppure "Provider=Microsoft.Jet.OLEDB.4.0;" (che però è valido per le sole piattaforme a 32bit) o ancora creando un DSN locale.
Su internet avevo letto di modificare la piattaforma di compilazione in modo tale da farlo lavorare in modalità 32bit ma non vedo l'opzione nella schermata quindi non posso procedere in quel senso.
Ho provato anche a re-installare il pacchetto "Access Database Engine" (32 e 64 bit) ma non è cambiato nulla.
Ho creato un progetto di prova per verificare se il problema poteva dipendere da qualche errore nei file di progetto e/o riferimenti ma continua a verificarsi.
Che posso fare?
Grazie a tutti per l'attenzione.
TheLordOfDreams82
-------------------------------------------------------------------------------------------------
Aggiornamento 1: Smanettando ancora tra le ConnectionStrings e l'ODBC sembra ora che se imposto un DSN sul "Driver Access (*.mdb)" usando l'utility nella cartella SysWOW64 riesco ad aprire il db e a lavorarci sopra. Il problema a questo punto rimane sul 64-bit.
Aggiornamento 2: Ho scoperto la natura del problema. Visual Basic 2010 Express sembra che compili nativamente in piattaforma x86. Ora vedo di modificare le mie procedure. Grazie a tutti comunque.
Gho5t
Profilo
| Junior Member
155
messaggi | Data Invio:
mer 11 apr 2012 - 12:17
Ciao,
potresti postare il codice con cui ti connetti a questo database access e dirmi se questo database access ha una password?
Se un uomo non è disposto a correre qualche rischio per le sue idee, o le sue idee non valgono nulla o non vale nulla lui
luka82
Profilo
| Junior Member
156
messaggi | Data Invio:
mer 11 apr 2012 - 22:26
Hai provato ad installare il Provider di Access 2003?
http://www.microsoft.com/downloads/it-it/details.aspx?familyid=6ccd8427-1017-4f33-a062-d165078e32b1
Procedi anche con l'installazione di MDAC 2.7
Per le stringhe di connessione segui:
http://www.connectionstrings.com/
Per quanto riguarda la modifica della compilazione a 32 Bit vai in "Esplora Soluzioni"->Tasto destro sulla soluzione->Compilazione->Opzioni di compilazione avanzate->CPU di destinazione->x86
Ps. Visto che puoi installare e distribuire i Provider di Access gratuitamente, ti consiglio di utilizzare un Db Access almeno alla versione 2007(*.accdb).
longpajr
Profilo
| Newbie
3
messaggi | Data Invio:
mar 17 apr 2012 - 15:22
Il sito connectionstrings.com lo conosco...
Per il problema con il driver proverò il link che mi hai suggerito. Per ora sembra che utilizzando il DSN funziona senza problemi.
Adesso scarico il file e vi aggiorno!
TheLordOfDreams82
giucorn
Profilo
| Junior Member
83
messaggi | Data Invio:
lun 5 nov 2012 - 08:53
Ciao, ho lo stesso tuo problema, ho un progetto di eun applicativo fatto con visual studio 2005 e questo da come errore "Il provider 'microsoft.jet.oledb.4.0. non è registrato nel computer" come hai risolto il problema?
Grazie....
alextyx
Profilo
| Expert
668
messaggi | Data Invio:
lun 5 nov 2012 - 19:13
C'è un'altra discussione analoga nella quale ho postato questo link:
http://forum.masterdrive.it/visual-basic-net-18/vb2010e-errore-so-x64-provider-microsoft-jet-oledb-4-0-non-registrato-55029/#post244877
Seguendo quella discussione si scopre come far compilare vs2010 (forse anche 2005, ma non ho provato) in X86, giacchè di default è impostato per anyCPU. Normalmente l'opzione non compare, ma c'è indicato cosa spuntare e dove, per farla comparire. Se vi può interessare.... :)
ravalon
Profilo
| Expert
689
messaggi | Data Invio:
lun 10 feb 2014 - 18:01
Ciao, vai sulle opzioni di compilazione e al posto di compilare per ANY CPU metti la compilazione per x86, compili e il gioco è fatto, ti funzionerà la versione a 32 bit del driver di collegamento (dato che una a 64 non esiste) credo passando per l'esecuzione di SysWOW64...
Insomma, io per un cliente con Windows 7 64 bit che non riusciva a leggere il mio gestionale che richiamava Access (.MDB) ho risolto cosi e mi ha confermato che ora gli funziona.
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !