2013-06-04 2 views
5

Ho creato una semplice app Web con Visual Studio 2012, utilizzando MVC3 e pubblicata su Azure.La mia app Web non trova il mio database una volta pubblicato

Quando lo eseguo localmente, tutto funziona correttamente. Ma quando pubblico, una pagina in cui c'è una tabella che usa un db che ho creato non carica. Il messaggio di errore è enorme, ma inizia così:

Exception Details: System.ComponentModel.Win32Exception: The system cannot find the file specified 

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. 

Stack Trace: 


[Win32Exception (0x80004005): The system cannot find the file specified] 

[SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 52 - Unable to locate a Local Database Runtime installation. Verify that SQL Server Express is properly installed and that the Local Database Runtime feature is enabled.)] 
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) +5296071 
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) +558 

E andare avanti e avanti.

Esistono tre tabelle, una è l'impostazione predefinita creata da Visual Studio nell'esempio di applicazione Web. Gli altri due che ho creato da soli, e nessuno dei due funziona quando pubblicato (funziona perfettamente quando locale).

io parto dal presupposto che il problema è sulle stringhe di connessione, se c'è qualcosa di più che dovrei presentare qui, per favore chiedo:

<connectionStrings> 
<add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-Porta-comprimidos-20130503163319;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-Porta-comprimidos-20130503163319.mdf" /> 
<add name="RemedioDBContext" 
    connectionString="Data Source=|DataDirectory|\MeuPortaComprimidosDB.sdf" 
    providerName="System.Data.SqlClient"/> 
<add name="RemedioTempDBContext" 
    connectionString="" 
    providerName="System.Data.SqlClient"/> 

Qualcuno può, per favore, mi aiuti? Ho studiato molto e non ho idea di come gestirlo (sì, sono nuovo in questo).

risposta

3

tuo connection strings sono impostazioni della fonte di dati per LocalDb che non è installato di default sulle macchine Windows Azure e non è possibile utilizzarlo (a meno che non lo si installa).

È necessario migrare il database a Windows Azure SQL e modificare il connection string di conseguenza.

Maggiori informazioni http://msdn.microsoft.com/en-us/library/windowsazure/ee730904.aspx

+0

Ma il "DefaultConnection", che viene utilizzato per Conti (appartenenza, ruoli, ecc), funziona bene. Se questo fosse il problema, questo db non dovrebbe essere rotto? – soneca

+0

Sì, non dovrebbe funzionare neanche. sei sicuro che questa 'stringa di connessione 'sia usata dal provider' membership'? – haim770

+0

Sì, connectionStringName = "DefaultConnection" – soneca