我想将 ASP.NET 应用程序部署到 MS Azure(和 SQL Azure)。该应用程序使用代码优先。
发布我的应用程序并调用相应的 URL 后,我收到一条错误消息:
Login failed for user 'myUserName'. This session has been assigned a tracing ID of '8beaff1c-629f-45b3-991b-228425bc30a4'.Provide this tracing ID to customer support when you need assistance.
我很确定这是由于我的配置文件中的连接字符串造成的。
这是我的 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>
我不确定是否需要 ApplicationServices
和 dbContext
设置...?
当然,上面给出的凭据是匿名的。但真正的凭据应该是正确的,因为我可以使用 SQL Server Management Studio (SSMS) 成功连接到我的 Azure 数据库。
我已经检查了一些文档和教程,例如 https://www.windowsazure.com/en-us/develop/net/tutorials/web-app-with-sql-azure/ ,但我还没有找到解决方案。一切似乎都很顺利。
有人有想法吗?
最佳答案
我在尝试在我的 webmatrix azure web 应用程序与我的 azure sql 数据库之间建立连接时遇到了同样的问题(用户“myUserName 登录失败”)。
使用 sql server management studio 连接到 azure sql 数据库没有问题。所以我知道我的用户名和密码没问题。
我尝试按照建议将 Web 应用程序链接到仪表板中的 SQL 数据库,但这对我不起作用。花了很长时间弄乱我的 web.config 文件中的连接字符串。尝试一些东西并上传新文件进行测试。
然后发现连接字符串存储在azure门户仪表板的Web应用程序配置页面中。事实证明,我的密码在连接字符串中仍然有大括号(如默认建议字符串所示)。我一定是在某个时刻这样进入的。删除花括号解决了这个问题。
如果其他人遇到问题,这是另一个可以尝试的选项。
关于azure - MS Azure/代码优先 : Login failed for user,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8488509/