Azure SQL数据库在本地运行时工作,但在发布到Azure时不工作

时间:2013-03-07 14:48:41

标签: .net azure ef-code-first asp.net-web-api entity-framework-5

我的问题与SO上的this问题非常相似,但并不完全相同。

当我在本地连接到我的azure数据库时,它运行完美。但是当我部署到Azure时,它似乎无法连接到数据库。我首先使用Entity Framework 5代码,并且我还在EF 5参考上设置了copy local:true。

这些是我的连接字符串:

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

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

我添加了

    <customErrors mode="Off"/> 

在我的web.config文件中,所以我可以看到堆栈跟踪,这些是我得到的例外:

[TargetInvocationException: Exception has been thrown by the target of an invocation.]
[InvalidOperationException: The ASP.NET Simple Membership database could not be initialized. For more information, please see http://go.microsoft.com/fwlink/?LinkId=256588]
[ProviderIncompatibleException: An error occurred while getting provider information from the database. This can be caused by Entity Framework using an incorrect connection string.

在阅读堆栈跟踪时,可以肯定问题是我无法初始化成员资格数据库。这必须是一个Azure部署问题,但我似乎无法弄清楚..

修改

API数据库现在正在运行,但成员资格也会出现同样的错误。我将网站缩放为保留而不是共享。不知道这是否会产生任何影响。

FIXED:

嗯,这很奇怪..突然,网站与两个数据库都有联系。没有做任何其他事情,将服务器从共享更改为保留..

2 个答案:

答案 0 :(得分:3)

检查在Windows Azure门户上制定的IP规则,并确保您当前的IP地址在您允许访问在Windows Azure上运行的数据库的范围内

答案 1 :(得分:0)

确保您的IP地址位于数据库允许的IP地址列表中。