MS Azure /代码优先:用户登录失败

时间:2011-12-13 11:34:59

标签: azure ef-code-first azure-sql-database

我想将我的ASP.NET应用程序部署到MS Azure(和SQL Azure)。该应用程序使用代码优先。

发布我的应用程序并调用相应的URL后,我收到一条错误消息:

  

用户'myUserName'登录失败。已为此会话分配了跟踪   ID为'8beaff1c-629f-45b3-991b-228425bc30a4'。提供此跟踪ID   在需要帮助时获得客户支持。

我很确定这是由于我的配置文件中的连接字符串。

以下是我的web.config中的相关摘录:

<connectionStrings>
    <add name="dbContext" 
         connectionString="server(local)\SQLEXPRESS;database=myDB;integrated security=true;MultipleActiveResultSets=True" 
         providerName="System.Data.SqlClient" />
</connectionStrings>

这是相应的web.release.config:

  <connectionStrings>
    <add name="ApplicationServices" connectionString="Server=tcp:xt1rnwvt89.database.windows.net;Database=myDB;User ID=myUserName@xt1rnwvt89;Password=myPassword;Trusted_Connection=False;Encrypt=True;MultipleActiveResultSets=True;" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
    <add name="dbContext" connectionString="Server=tcp:xt1rnwvt89.database.windows.net,1433;Database=myDB;User ID=myUserName@xt1rnwvt89;Password=myPassword;Trusted_Connection=False;Encrypt=True;MultipleActiveResultSets=True;" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
  </connectionStrings>

我不确定我是否同时需要ApplicationServicesdbContext设置?

当然,上面给出的凭证是匿名的。但真正的凭据应该是正确的,因为我可以使用SQL Server Management Studio(SSMS)成功连接到我的Azure数据库。

我已经检查了几个文档和教程,如https://www.windowsazure.com/en-us/develop/net/tutorials/web-app-with-sql-azure/,但我找不到解决方案。一切似乎都没问题。

有人有想法吗?

5 个答案:

答案 0 :(得分:2)

这是我使用的连接字符串:

<add name="dbContext" connectionString="Server=tcp:xxxxxxxx.database.windows.net;Database=xxxxxxxx;User ID=xxxxxxx@xxxxxxxxx;Password=xxxxxxxxxx;Trusted_Connection=False;Encrypt=True;" providerName="System.Data.SqlClient" />

还要确保设置正确的防火墙设置:

  • 部署后,您应该选中“允许其他Windows Azure服务访问此服务器。”选项。
  • 从其他网络连接时,请确保将该IP添加到防火墙规则中,否则您将拒绝连接。

如果您想确保使用正确的连接,可以从管理门户网站询问正确的连接。只需单击左侧的数据库名称,即可在右侧面板上看到连接字符串。

修改的 此外,在使用Code First时,请确保数据库尚不存在,因为数据库丢弃不起作用。

答案 1 :(得分:2)

想到我会分享这个。我遇到了同样的问题,并在管理门户中添加了数据库作为链接资源,云服务&gt;仪表板&gt;添加链接资源,为我解决了。在我弄清楚之前,我的HOURS用户错误登录失败了!!

答案 2 :(得分:2)

我遇到了同样的问题(用户登录失败&#39; myUserName)尝试在我的webmatrix azure web应用程序与我的azure sql数据库之间建立连接。

使用sql server management studio连接到azure sql数据库没有问题。所以我知道我的用户名和密码都没问题。

我尝试将Web应用程序链接到仪表板中的sql数据库,但是这对我不起作用。花了很长时间搞乱我的web.config文件中的连接字符串。尝试并上传新文件进行测试。

然后发现连接字符串存储在azure门户仪表板的Web应用程序配置页面中。事实证明,我的密码在连接字符串中仍然有大括号(如默认建议的字符串所示)。我必须在某个时候这样做。删除花括号解决了这个问题。

如果其他人遇到问题,这是另一种选择。

答案 3 :(得分:0)

就我而言,我做的事情是愚蠢的。 。 。我正在使用命令提示符传递连接字符串,我的密码有一个%符号作为它的一部分。使用命令提示符时,%用于表示命令行参数,因此命令解释器只是删除了%符号,我再也无法连接。

修复?逃离%号。

不工作: 密码= PasswordWithPercent%

工作 密码= PasswordWithPercent %%

乌拉!

答案 4 :(得分:0)

我在运行Visual Studio的程序包管理器中的命令时遇到了类似的问题。我必须在连接字符串两边加上单引号,因为密码中带有$符号。用双引号尝试在其中处理变量。