Principale utente con più risposte
Accesso non riuscito per l'utente... Sql server c#

Domanda
-
Salve a tutti,
recentemente ho iniziato a programmare in visual C# 2012 in applicazione windows form inserendo i database con SQL Server 2012. Ho creato un database locale denominato "Palestra" con all'interno una tabella "Soci" ma dal momento che provo a connettermi usando il seguente codice:
string connectionString = "Data Source=localhost;Initial Catalog=Palestra;Integrated Security=True;";
mi compare l'errore :
"Eccezione non gestita di tipo 'System.Data.SqlClient.SqlException' in System.Data.dll
Informazioni aggiuntive: Impossibile aprire il database "Palestra" richiesto dall'account di accesso. Accesso non riuscito.
Accesso non riuscito per l'utente 'Pc-Desktop1\Lore'."Sono giorni che ci sbatto la testa ma non riesco a trovare una soluzione, qualcuno mi può aiutare? Grazie.
- Modificato loryman venerdì 7 febbraio 2014 18:03
Risposte
-
Ciao,
L'accesso tramite Integrated Security implica che l'utente Windows che stai usando (nel tuo caso PC-DESKTOP1\Lore) abbia i corretti permessi di accesso sia all'istanza SQL Server, sia al database in questione (nel tuo caso, "Palestra").
Apri il SQL Server Management Studio e collegati all'istanza con un utente avente permessi amministrativi. Poi crea un login a livello di istanza per il tuo utente:
CREATE LOGIN [PC-DESKTOP1\Lore] FROM WINDOWS GO
A questo punto, puoi creare un utente sul database "Palestra" collegato a questo login:
USE Palestra GO CREATE USER [PC-DESKTOP1\Lore] FOR LOGIN [PC-DESKTOP1\Lore] GO EXEC sp_addrolemember 'db_owner', 'PC-DESKTOP1\Lore' GO
In questo caso assegno all'utente il ruolo di db_owner sul database, che è un ruolo molto potente. E' comodo in ambiente di sviluppo, ma probabilmente dovrai poi creare utenti più limitati e specifici per l'applicazione.
HTH
Alberto Dallagiacoma
My Italian Blog: http://blogs.ugidotnet.org/alby
Twitter: http://twitter.com/albertodall
DotDotNet - User Group .NET Emilia Romagna: http://www.dotdotnet.org- Modificato Alberto Dallagiacoma venerdì 7 febbraio 2014 18:29
- Proposto come risposta Edoardo BenussiMVP, Moderator martedì 11 febbraio 2014 11:34
- Contrassegnato come risposta Fabrizio GiammariniMVP, Moderator martedì 4 marzo 2014 10:31
Tutte le risposte
-
Ciao,
L'accesso tramite Integrated Security implica che l'utente Windows che stai usando (nel tuo caso PC-DESKTOP1\Lore) abbia i corretti permessi di accesso sia all'istanza SQL Server, sia al database in questione (nel tuo caso, "Palestra").
Apri il SQL Server Management Studio e collegati all'istanza con un utente avente permessi amministrativi. Poi crea un login a livello di istanza per il tuo utente:
CREATE LOGIN [PC-DESKTOP1\Lore] FROM WINDOWS GO
A questo punto, puoi creare un utente sul database "Palestra" collegato a questo login:
USE Palestra GO CREATE USER [PC-DESKTOP1\Lore] FOR LOGIN [PC-DESKTOP1\Lore] GO EXEC sp_addrolemember 'db_owner', 'PC-DESKTOP1\Lore' GO
In questo caso assegno all'utente il ruolo di db_owner sul database, che è un ruolo molto potente. E' comodo in ambiente di sviluppo, ma probabilmente dovrai poi creare utenti più limitati e specifici per l'applicazione.
HTH
Alberto Dallagiacoma
My Italian Blog: http://blogs.ugidotnet.org/alby
Twitter: http://twitter.com/albertodall
DotDotNet - User Group .NET Emilia Romagna: http://www.dotdotnet.org- Modificato Alberto Dallagiacoma venerdì 7 febbraio 2014 18:29
- Proposto come risposta Edoardo BenussiMVP, Moderator martedì 11 febbraio 2014 11:34
- Contrassegnato come risposta Fabrizio GiammariniMVP, Moderator martedì 4 marzo 2014 10:31
-
-
Il Management Studio di solito viene installato contestualmente a SQL Server, quindi dovresti trovarlo tra le applicazioni presenti sul tuo PC.
Per quanto riguarda l'accesso, all'inizio ti verranno chieste le credenziali, e dovrai specificare un utente che abbia permessi sufficienti per poter impartire i comandi per la creazione del Login.
Durante il setup, hai la possibilità di specificare quali sono i sysadmin dell'istanza, quindi dovrai fare login con uno di questi utenti "designati", o al limite accedere con l'utente "sa" se, sempre durante il setup, è stata abilitata l'autenticazione "Mixed".
HTH,
Alberto Dallagiacoma
My Italian Blog: http://blogs.ugidotnet.org/alby
Twitter: http://twitter.com/albertodall
DotDotNet - User Group .NET Emilia Romagna: http://www.dotdotnet.org