15 messaggi dal 20 giugno 2004
Definisco una connessione con un db Access (XP) attraverso l'apposito driver Oledb Microsoft.Jet.4.0. Creo un oggetto Command in cui specifico una query SQL di inserimento (ma il mio obbiettivo finale è quello di associare al comando una stored query). Nel momento in cui eseguo il comando attraverso il metodo executeNoQuery il server genera un'errore specificando che non trova il database o che non ha l'autorizzazione per accedervi.
Nella querystring della connessione specifico il parametro mode cosi:
Mode=Share deny none;

(Cambiando il parametro in
mode=read
accede al database ma naturalmente non esegue la query di inserimento in quanto vede il db in sola lettura)

Come faccio? Dove devo agire per l'autorizzazione? e CHI deve essere autorizzato? Centra qualcosa il file utenti di access?

Sarei grato a chiunque voglia aiutarmi.
Se l'applicazione impersonifica l'utente ASPNET (machine account), devi dargli il permesso di lettura e scrittura alla cartella in cui è contenuto il DB e al file stesso.
Se l'applicazione impersonifica un altro utente, devi "grantare" l'utente in questione.
In caso contrario, ottieni sempre un errore di accesso negato.

Ciao, Ricky.

Ing. Riccardo Golia
Microsoft MVP ASP.NET/IIS
ASPItalia.com Content Manager
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it
15 messaggi dal 20 giugno 2004
mi devi scusare ma temo di non essere stato troppo preciso nell'esposizione del problema.
Saprai benissimo che access permette all'utente di aprire un file mdb con accesso esclusivo e le conseguenze che ciò comporta.
Ti riporto l'errore generatomi dal server:
"Il modulo di gestione di database di Microsoft Access Jet non è in grado di aprire il file 'c:\inetpub\wwwroot\Prova\db.mdb'. Il file è già aperto con accesso esclusivo da un altro utente o è necessario disporre dell'autorizzazione per visualizzare i dati."
Ti posso garantire che il file non è aperto e che non esiste nessun file lock associato l database.
Il database si trova nella cartella principale del sito.

Credi che il problema derivi dall'assicurare l'accesso alla cartella?
Nel caso, quale sarebbe esattamente la procedura per garantire l'ccesso alla cartella?
PS le operazioni che intendo svolgere sul db sono naturalmente di lettura e scrittura.

Grazie cmq per l'aiuto.
Procedura operativa
[1] Tasto dx del mouse sulla cartella in cui sta il DB, quindi Proprietà.
[2] Tra le impostazioni di protezione/sicurezza, verifica se l'utente ASPNET può accedere alla cartella: se non esiste all'elenco degli utenti, aggiungilo!
[3] Dai le autorizzazioni di lettura/scrittura (MODIFICA) all'utente ASPNET.

Dovresti in questo modo risolvere il problema.

Ciao, Ricky.

Ing. Riccardo Golia
Microsoft MVP ASP.NET/IIS
ASPItalia.com Content Manager
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it
15 messaggi dal 20 giugno 2004
ok. funziona.
Avevo il problema che tra le proprietà della cartella non era visualizzata la tab relativa alla protezione.

grazie 1000

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.