Difficoltà aceesso a database locale Access da .NET

sabato 06 marzo 2010 - 14.26

netaddicted Profilo | Newbie

Ciao a tutti,

non riesco a collegarmi in locale a un database MS Access 2003 via codice e dall'IDE di Visual Studio 2005.

Da notare che se effettuo la connessione tramite "Esplora Database", la connessione ha successo.

Ho copiato dalla connessione in "Esplora Database" questi dati:

User ID=Admin
Password=5433

e li ho inseriti nella connection string in questo modo:

OleDbConnection objConn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;"+
"Data Source=D:\Career\Rent a coder\Bid Stuff\1360526\DB\waterpoloclub.mdb"+
"User ID=Admin;Password=5433");

Al momento dell'apertura della connessione:

objConn.Open();

Ricevo il seguente messaggio di errore:

"Impossibile avviare l'applicazione. Il file di informazioni sul gruppo di lavoro è mancante o aperto"+
"in modo esclusivo da un altro utente."

Questo problema lo risolvo se aggiungo alla connection string il file di informazioni sul gruppo di lavoro (con estensione ".mdw")
in questo modo:

OleDbConnection objConn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;"+
"Data Source=D:\Career\Rent a coder\Bid Stuff\1360526\DB\waterpoloclub.mdb;Persist Security Info=True;"+
"Jet OLEDB:System database=C:\Documents and Settings\Francesco\Dati applicazioni\Microsoft\Access\System.mdw;"+
"User ID=Admin;Password=5433");

Ma il messaggio di errore che ricevo stavolta è il seguente:

"Nome account o password non valida."

Qualcuno sa come risolvere?

Grazie,
Francesco

TOPOAMORE Profilo | Expert

Ciao,

prova a crearti con l'ide la connessione e vedi come ti crea la stringa e vedi l'errore dov'e'....


ASP 2.0 - VB 2008

netaddicted Profilo | Newbie

Grazie per la tempestiva risposta.

Purtroppo (come mi capita spesso) subito dopo avere scritto sul vostro forum trovo la soluzione, che è la seguente:

Alla connection string, bisogna aggiungere l'informazione: "Jet OLEDB:Database" prima della Password, quindi il codice originale:

OleDbConnection objConn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;"+ "Data Source=D:\Career\Rent a coder\Bid Stuff\1360526\DB\waterpoloclub.mdb"+ "User ID=Admin;Password=5433");

diventa:

OleDbConnection objConn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;"+ "Data Source=D:\Career\Rent a coder\Bid Stuff\1360526\DB\waterpoloclub.mdb"+ "User ID=Admin;Jet OLEDB:Database Password=5433");

Spero che possa servire a qualcun'altro.

Come sempre, grazie dell'aiuto, siete un vero punto di riferimento.

Francesco.

TOPOAMORE Profilo | Expert

Ma figurati grazie a te
ASP 2.0 - VB 2008
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 !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5