2012-12-27 4 views
25

Ricevo questa eccezione quando provo ad accedere al database da C#.Istanza utente di SqlLocalDb

mia stringa di connessione è

Data Source=(localdb)\v11.0;integrated security=true;User Instance = true;AttachDbFileName=C:\Users\UserName\Desktop\DB\TestDB3.mdf 

eccezione è

La bandiera istanza di accesso utente non è consentito durante la connessione a un'istanza utente di SQL Server. La connessione sarà chiusa.

risposta

40

casi LocalDB sono tutti "Istanze utente", e non c'è bisogno di specificare User Instance=true nella stringa di connessione, in realtà non è nemmeno supportata (come potete vedere). Basta rimuovere questa parte e funzionerà correttamente.

+2

Sembra autoesplicativo quando lo metti in questo modo. Penso che il mio problema è stato causato dal passaggio tra IISExpress e IIS locale. Questo però lo ha risolto –

3

Solo per aggiungere ulteriori informazioni. Se alcuni come questo non funziona per te e si lamenta ancora che non è in grado di individuare il server. Vi sarà chiesto di configurare le seguenti due attributi sul tuo Identità pool di applicazioni in applicationHost presentare

<add name="DefaultAppPool"> 
      <processModel identityType="NetworkService" loadUserProfile="true" setProfileEnvironment="true" /> 
     </add> 

in cui sono richiesti questi due attributi per assicurarsi che il conto può avviare il server LocalDB.