1

下面的错误经常发生。请问有没有人遇到过这种情况或者是什么原因?

我使用实体框架 4.0 和。NET 4.0 和 Visual Studio 2010 以及 Windows Azure SDK 1.7 和 2.0。

下面是连接字符串:

<add name="MyEntities" 
    connectionString="metadata=res://*/Model.ModelMy.csdl|res://*/Model.ModelMy.ssdl|res://*/Model.ModelMy.msl;
        provider=System.Data.SqlClient;
        provider connection string=&quot;
        data source=myserver.database.windows.net;
        initial catalog=MyDatabase;
        persist security info=True;
        user id=myUser;
        password=myPassword;
        multipleactiveresultsets=True;
        Trusted_Connection=False;
        Encrypt=True;
        Connection Timeout=30;
        App=EntityFramework&quot;" 
    providerName="System.Data.EntityClient"
 />

错误信息:

Server Error in '/' Application.

Database 'MyDatabase' on server '[NAMEMYSERVER]' is not currently available. Please retry the connection later. If the problem persists, contact customer support, and provide them the session tracing ID of 'efb529ba-14eb-46d0-8311-d48b03435cee'.
Login failed for user 'myUser'.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.SqlClient.SqlException: Database 'MyDatabase' on server '[NAMEMYSERVER]' is not currently available. Please retry the connection later. If the problem persists, contact customer support, and provide them the session tracing ID of 'efb529ba-14eb-46d0-8311-d48b03435cee'.
Login failed for user 'myUser'.

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:


[SqlException (0x80131904): Database 'MyDatabase' on server '[NAMEMYSERVER]' is not currently available. Please retry the connection later. If the problem persists, contact customer support, and provide them the session tracing ID of 'efb529ba-14eb-46d0-8311-d48b03435cee'.
Login failed for user 'myUser'.]
   System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +706
   System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +89
   System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +6425518
   System.Data.SqlClient.SqlConnection.Open() +300
   System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String attemptedOperation, Boolean& closeStoreConnectionOnFailure) +67

[EntityException: The underlying provider failed on Open.]
   System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) +4728195
   System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) +1725
   MyProjectRules.Negocio.MyDatabaseHotel.HotelRN.PesquisarTodos(Include include) +0
   MyProjectWebRole.MyDatabaseHotel.Views.ListaHoteis.CarregarGridViewEntidade() +183
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +25
   System.Web.UI.Control.LoadRecursive() +71
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3064

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.551
4

1 回答 1

1

第 1 步:简化您的连接字符串。我们的看起来像这样:

  <add name="[CONTEXTNAME]"
     providerName="System.Data.SqlClient"
     connectionString="
      Server=tcp:[SERVER].database.windows.net,1433;
          Database=[DATABASE];
          User ID=[USER]@[SERVER];
          Password=[PASSWORD];
          Trusted_Connection=False;
          Encrypt=True;
          Connection Timeout=30;"/>

因此,查看您的连接字符串,我会尝试以下操作:

  <add name="MyEntities"
     providerName="System.Data.SqlClient"
     connectionString="
          metadata=res://*/Model.ModelMy.csdl|res://*/Model.ModelMy.ssdl|res://*/Model.ModelMy.msl;
          Server=myserver.database.windows.net;
          Database=MyDatabase;
          User id=myUser@myserver;
          Password=myPassword;
          Multipleactiveresultsets=True;
          Trusted_Connection=False;
          Encrypt=True;
          Connection Timeout=30;
          App=EntityFramework;" />

第 2 步:您的“用户 ID”似乎缺少服务器名称。它必须是 myUser@myServer。尝试将其重新添加。

第 3 步:可能并不重要,但您缺少服务器地址中的“,1433”

于 2013-06-05T14:34:59.970 回答