2013-06-04 40 views
5

Stworzyłem prostą aplikację internetową z Visual Studio 2012, używając MVC3 i opublikowałem ją na Azure.Moja aplikacja internetowa nie znajduje mojej bazy danych po opublikowaniu

Po uruchomieniu go na miejscu wszystko działa poprawnie. Ale kiedy publikuję, jedna strona, na której znajduje się tabela korzystająca z utworzonego db, nie jest ładowana. Komunikat o błędzie jest ogromna, ale zacząć tak:

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 

i iść dalej.

Istnieją trzy tabele, z których jedna jest ustawieniem domyślnym, utworzonym przez Visual Studio w jej przykładowej aplikacji internetowej. Pozostałe dwie stworzyłem samodzielnie, a żadna z nich nie działa po opublikowaniu (działa idealnie dobrze, gdy jest lokalna).

I zakładając, że problem jest na ciągi połączeń, jeśli jest coś więcej należy przedstawić tutaj, proszę zapytać:

<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"/> 

Czy ktoś, proszę mi pomóc? Dużo się nad tym zastanawiałem i nie mam pojęcia, jak sobie z tym poradzić (tak, jestem nowy w tym).

Odpowiedz

3

Ustawienia connection strings to ustawienia źródła danych na LocalDb, które nie jest domyślnie instalowane na komputerach z systemem Windows Azure i nie można go używać (chyba że zostanie zainstalowany).

Musisz przeprowadzić migrację bazy danych do Windows Azure SQL i odpowiednio zmienić swój connection string.

Więcej informacji na http://msdn.microsoft.com/en-us/library/windowsazure/ee730904.aspx

+0

ale "DefaultConnection", który jest wykorzystywany do rachunków (członkostwa, ról itp), działa dobrze. Jeśli to był problem, czy ten plik db nie powinien zostać złamany? – soneca

+0

Tak, to też nie powinno działać. czy jesteś pewien, że jest to "ciąg połączenia" używany przez dostawcę "członkostwa"? – haim770

+0

Tak, connectionStringName = "DefaultConnection" – soneca

Powiązane problemy