&#34;用户&#39; <用户>&#39;登录失败。&#34;在SQL Azure上的MVC 5中使用DefaultConnection时

时间:2015-07-07 21:44:28

标签: asp.net-mvc azure azure-sql-database

我将一个Web应用程序发布到Azure,它有两个数据库连接字符串。

    <add name="DefaultConnection" connectionString="Server=tcp:myserver.database.windows.net,1433;Database=mydb;User ID=myuser@myserver;Password=mypassword;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" providerName="System.Data.SqlClient" />
    <add name="MyApp" connectionString="Server=tcp:myserver.database.windows.net,1433;Database=mydb;User ID=myuser@myserver;Password=mypassword;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" providerName="System.Data.SqlClient" />

MyApp数据库连接正常。实体框架使用它来提供站点功能。因此,此连接字符串有效。

但是,在ASP.NET MVC成员资格/授权API使用的Azure平台上运行时,DefaultConnection数据库连接不起作用。此代码是锅炉板/脚手架,只需极少的修改。我刚刚复制了MyApp的工作连接字符串,并将其命名为DefaultConnection。我知道这是DefaultConnection,因为当我尝试登录时会发生错误,这是第一次使用该连接字符串。

在Azure上运行时,我收到错误:

  

用户&#39; myuser&#39;登录失败。此会话已分配一个   跟踪ID为#dad; dad6972c-2b65-4441-b09b-7994de11a47d&#39;。提供这个   在需要帮助时将ID跟踪到客户支持。

为了澄清一点,DefaultConnection在本地工作正常,但在发布到Azure 时没有。以下是我的测试:

  • 使用我本地托管的数据库/服务器,相同的连接在本地运行良好。
  • 相同的连接在本地运行良好,但访问SQL Azure数据库。所以用户是好的&#34;。
  • 用户名/密码是正确的,只要我在运行上述方案时更改它们,我就会收到错误
  • 我已经从Azure门户复制/粘贴连接字符串,没有任何区别(显然更改了我的密码占位符)
  • 当我部署访问SQL Azure数据库的应用程序(已知在本地工作)并在Azure Web Apps上执行代码时,它会因提到错误而失败。
  • 我通过检查变换排除了转换错误,并且完全删除了转换逻辑,并且&#34;硬编码&#34;连接字符串,因此发布逻辑不会干扰。

我完全失去了。我尝试修改连接字符串上的选项,例如。信任证书等,但没有运气。如果我可以在本地连接到远程SQL Azure数据库,为什么不在Azure上运行呢?

1 个答案:

答案 0 :(得分:2)

在Azure网站的配置设置下会有一个Connection Strings部分,检查凭据是否正确。我已经经历了这一次..那时密码出现错误,即使密码在web-config文件是否正确