2010-03-03 20 views
10

Ho recentemente effettuato il another question sulla connessione al database MS-ACCESS con .NET in C# o VB.NET. Ha funzionato proprio come previsto con MDB, ma con accdb ha causato un'eccezione nelConnessione al formato ACCDB Database MS-ACCESS tramite OLEDB

conn.Open(); 

che segue:

alt text http://dl.dropbox.com/u/3045472/accdb_fail.png

C'è un altro modo per fare questo? La mia intenzione originale (come indicato nello original question) sta raccogliendo alcuni (in realtà, molti) campi.

+0

Il punto chiave nella risposta è che MDB è il 4 formato Jet (o formati precedenti, ad esempio, Jet 3. x e leggibili all'indietro nei provider Jet 4) e ACCDB è il formato per l'ACE (che in realtà è Jet 4.5 o forse Jet 5), quindi è necessario utilizzare il provider per ACE (che è anche in grado di leggere/scrivere Jet 4/3.xe probabilmente Jet 2.x). –

+0

Ha funzionato senza alcuna installazione aggiuntiva, ma sto mantenendo il collegamento nel caso sia necessario nel client .. E grazie! – Marcelo

risposta

11

Usa ACE conducente 4, scaricarlo here quindi utilizzare seguente stringa di connessione:

"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\marcelo.accdb;Jet OLEDB:Database Password=MyDbPassword;"

+0

penso di si. oppure creare un'applicazione client-server con thin client – Andrey

+0

Lavorato con reader.GetValue (3) .ToString() Sai perché non ha funzionato con la stringa, anche se si trattava di un nome? – Marcelo

+0

usalo: reader.GetValue (3) .ToString() se funziona – Andrey

Problemi correlati