我使用Visual Studio 2012创建了一个简单的Web应用程序,使用MVC3并在Azure上发布。
当我在本地运行时,一切正常。但是当我发布时,一个页面中有一个使用我创建的数据库的表不会加载。 错误信息是巨大的,但是从这样开始:
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
然后继续。
有三个表,一个是Visual Studio在其Web App示例上创建的Default。 我自己创建的另外两个,在发布时都不起作用(在本地时运行得非常好)。
我认为连接字符串存在问题,如果还有其他问题,请询问:
<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"/>
请有人帮助我吗?我研究了很多,不知道如何处理它(是的,我是新手)。
答案 0 :(得分:3)
您的connection strings
设置的数据源为LocalDb
,默认情况下,这些数据源未安装在Windows Azure计算机上,您无法使用它(除非您安装它)。
您必须将数据库迁移到Windows Azure SQL
并相应地更改connection string
。
有关http://msdn.microsoft.com/en-us/library/windowsazure/ee730904.aspx
的更多信息