4 messaggi dal 11 luglio 2001
Premetto che ho letto tutto quanto ho già trovato in questo forum a proposito dell'utilizzo dell'MSDE con ASP.NET (suggerimenti di Daniele Bochicchio)
Ho 2 Pc con XP Professional: il primo con WebMatrix ed il secondo con .Net FWK e MSDE installato e funzionante.
Ho già creato db con l'istanza di MSDE installata sia da Access che da WebMatrix e li modifico pure con l'editor di webMatrix regolarmente. Credo che tutto ciò significhi che l'MSDE funziona regolarmente.
L'istanza MSDE ha come nome AULA01 (lo ha preso dal nome del PC in rete) ed il database si chiama silvergest
Portando la tabella nell'editor di WebMatrix ha creato automaticamente una connection string come segue:
server='aula01'; trusted_connection=true; Database='silvergest'

che ho prontamente sfruttato scrivendo queste righine di esempio:

dim myconn as sqlconnection = new sqlconnection("server='aula01'; trusted_connection=true; Database='silvergest'")
dim mycomm as new sqldataadapter("select * from test", myconn)
dim ds as new dataset()
mycomm.fill(ds)

eseguendo il codice l'errore è il seguente (avviene alla riga mycomm.fill(ds)):

Cannot open database requested in login 'silvergest'. Login fails. Login failed for user 'AULA01\ASPNET'.
Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.
Dettagli eccezione: System.Data.SqlClient.SqlException: Cannot open database requested in login 'silvergest'. Login fails. Login failed for user 'AULA01\ASPNET'.


come da istruzioni lette nel forum ho eseguito nella macchina con l'istanza dell'MSDE i seguenti comandi dal prompt MSDOS per concedere le dovute autorizzazioni:

osql -E -S aula01 -Q "sp_grantlogin 'aula01\ASPNET'"
risultato: grant login access to 'aula01\ASPNET'

perfetto! poi per permettere la modifica, cancellazione etc....:

osql -E -S aula01 -Q "exec sp_grantdbaccess 'aula01\ASPNET'"
risultato: User or Role 'aula01\ASPNET' already exist in the current database
(...già... lo ho fatto + di una volta, comunque mi aveva dato risultato positivo...)

ma il risultato è sempre lo stesso: l'utente ASPNET non accede al db.

ho provato a modificare le sp come segue specificando con -d nomedatabase:

osql -E -S aula01 -d silvergest -Q "sp_grantlogin 'aula01\ASPNET'"
osql -E -S aula01 -d silvergest -Q "exec sp_grantdbaccess 'aula01\ASPNET'"

risultato della chiamata alla pagina:

SELECT permission denied on object 'test', database 'silvergest', owner 'dbo'.
Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.

Dettagli eccezione: System.Data.SqlClient.SqlException: SELECT permission denied on object 'test', database 'silvergest', owner 'dbo'.

sembra che quindi l'accesso al db sia avvenuto ma la tabella test non ne vuole sapere...

qualcuno ha già rispolto il problema?


4 messaggi dal 11 luglio 2001
Mi autorispondo sperando di aiutare qualcuno che incontrerà il mio stesso problema...

la stringa di connessione basta che sia (in questo caso):

server='aula01';User ID='sa'; Database='silvergest'

in pratica si dice di usare l'utente 'sa' che è l'utente di default MSDE.

bah!

per prima cosa dai una password all'utente sa, altrimenti chiunque ti entra in msde senza problemi.

poi prova a togliere le ' dalla stringa di connessione, perchè ciò che hai fatto è corretto e dovrebbe funzionare.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP

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.