2014-12-05 9 views
6

Sto per eseguire la demo di un sito Web ASP.NET MVC su una rete locale. Questa applicazione dispone di una connessione a un database:Come consentire a IIS di utilizzare il database locale dal progetto MVC ASP.NET?

<connectionStrings> 
    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-EBC-20141127093222.mdf;Initial Catalog=aspnet-EBC-20141127093222;Integrated Security=True" providerName="System.Data.SqlClient" /> 
</connectionStrings> 

Vorrei se questo database può essere utilizzato sia da IIS e ogni volta che corro la mia domanda a livello locale. Ho creato un sito su IIS - è in esecuzione .NET v4. Il mio progetto risiede in c:\inetpub\www\ebc. Posso pubblicare il sito web, ma ricevere questo errore sulla visualizzazione della pagina:


"Si è verificato un errore relativo alla rete o specifica dell'istanza mentre stabilisce una connessione a SQL Server Il server non è stato trovato o non era accessibile.. Verificare che il nome dell'istanza sia corretto e che SQL Server sia configurato per consentire le connessioni remote. (Provider: Interfacce di rete SQL, errore: 50 - Si è verificato un errore di Database locale. Si è verificato un errore imprevisto all'interno di una chiamata al metodo dell'API dell'istanza LocalDB. registro degli eventi per i dettagli degli errori. "

So che è necessario consentire le connessioni remote al server sql tramite Microsoft SQL Server Manager? C'è un modo per farlo ewhere?

risposta

6

La soluzione migliore è quella di utilizzare SQL espressione, ma se non si vuole ci sono alcuni passi che si devono fare per rendere il vostro lavoro di applicazione MVC con LocalDB

  1. Apri prompt dei comandi di Visual Studio come amministratore
  2. eseguire sqllocaldb share v11.0 IIS_DB (quindi il database saranno condivisi e IIS può accedervi)
  3. modificare la stringa di connessione al sito per puntare l'istanza condivisa di DB: Data Source=(LocalDb)\.\IIS_DB quindi pubblicare di nuovo

Si noti che in questo punto si potrebbe essere visualizzato un accesso negato errore e non v'è come risolvere il problema

  1. Vai a Visual Studio => databaseexplorer => aggiungere il collegamento
  2. Per il nome del server entrare (LocalDb)\.\IIS_DB poi tasto destro del mouse sulla connessione e scegliere nuova query ed eseguire il comando

    create login [IIS APPPool\DefaultAPPPool] from windows; 
    exec sp_addsrvrolemember N'IIS APPPool\DefaultAPPPool, sysadmin 
    
3

Quando non ci sono più versioni di SQL Server LocalDB installato una macchina, questo errore è molto comune.

Provare a utilizzare (localdb)\mssqllocaldb come nome server comune per connettersi all'istanza automatica LocalDB anziché "v11.0" o "v12.0".

L'istanza di esempio del localdb automatico, ha un nome predefinito su tutta la versione ed evita conflitti tra la versione del nome &.

Importante: Quando si aggiorna il localdb alla nuova versione, ricordare che il database creato con una versione precedente non funziona con il più recente.

Problemi correlati