Entra

View Full Version : [VS2008 e SQLExpress08] Accesso non riuscito per l'utente 'IIS APPPOOL\DefaultAppPool


giano99
19-05-2010, 08:27
Sto realizzando una webform con Vs2008 e relativi DB in sqlexpress 08.
Utilizzo win7 ultimate e relativo ISS

Quando provo ad utilizzare la webform (in locale perchè al momento mi serve solo che funzioni in locale) mi genera questo errore:

Impossibile aprire il database "EGConsulting" richiesto dall'account di accesso. Accesso non riuscito.
Accesso non riuscito per l'utente 'IIS APPPOOL\DefaultAppPool'.
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: Impossibile aprire il database "EGConsulting" richiesto dall'account di accesso. Accesso non riuscito.
Accesso non riuscito per l'utente 'IIS APPPOOL\DefaultAppPool'.

Cercando su internet mi è parso di capire che il problema sia dovuto all'autenticazione della webform in SQLexpress2008

http://msdn.microsoft.com/it-it/library/ab4e6cky(VS.80).aspx

http://msdn.microsoft.com/it-it/library/ht43wsex(v=VS.80).aspx

In strumenti di amministrazione sito web di VS 2008 in "sicurezza" ho impostato in "tipo di accesso sito" :
Da una rete locale
Selezionare questa opzione se gli utenti effettueranno l'accesso al sito Web da una rete locale privata. Per identificare gli utenti, verrà utilizzata l'autenticazione di Microsoft Windows incorporata. Potranno accedere al sito gli utenti con nome utente e password di Windows validi. --> quindi Il tipo di autenticazione corrente è Windows.

Come diavolo faccio a far riconsocere il tutto a sqlexpress2008 in modo da dare accesso al DB alle Formview presenti nella webform?

Grazie

tomminno
19-05-2010, 08:34
Che stringa di connessione stai usando?

giano99
19-05-2010, 10:17
Questa è la stringa:

Data Source=Portatile\sqlexpress;Initial Catalog=EGConsulting;Integrated Security=True (quella relativa a "configura origiine dati" nella pagine della webform).

Nel file Web.config dela progetto è questa:

<connectionStrings>
<add name="EGConsultingConnectionString" connectionString="Data Source=Portatile\sqlexpress;Initial Catalog=EGConsulting;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>

Inizialmente avevo creato la webform utilizzando una pagina di login (quindi in VS2008 avevo creato un utente con relativa ID e pass) e avevo sempre testato il tutto usando il server di sviluppo interno di VS.
Poi volevo migrare il tutto su ISS però questo mi generava un errore (giustamente) di autenticazione..in pratica usando ISS nn potevo fare il login mentre se usavo il server di sviluppo di VS si.

Quindi non sapendo come risolvere il problema ho ricreato la webform recuperando tutte le pagine dalla vecchia webform (praticamente un copia/incolla del codice delle pagine ricostruendo correttamente i link interni alle varie pagine) evitando di ricreare la pagina di login e impostando la sicurezza come indicato nel primo post; questo però ha portato all'errore indicato.

giano99
19-05-2010, 10:59
Risolto grazie :D

Bastava aggiungere <identity impersonate="true"/>
alla sezione system.web del file web.config

tomminno
19-05-2010, 10:59
Il problema è "Integrated Security=True" per cui utilizza l'utente sotto cui sta girando il thread per l'autenticazione.
Devi sostituirlo con uid=username;pwd=password

Edit Ok ho letto ora che hai risolto