首页 文章

如何连接到Azure SQL数据库?

提问于
浏览
0

我正在尝试将Azure中托管的应用程序连接到Azure中托管的数据库 . 我收到错误请找到以下内容

“502 - Web服务器在充当网关或代理服务器时收到无效响应 . ”

当应用程序尝试查询数据库时 .

在Azure中托管应用程序和数据库(该应用程序在localhost上工作)之前,我对内部SQL服务器数据库的连接字符串如下所示:

Data Source=DESKTOP-LCO4GKN;AttachDbFilename=|DataDirectory|BakaAppDb.mdf;Initial Catalog=BakaAppDb;Integrated Security=True

将数据库迁移到Azure并使用登录创建用户后,我输入了连接字符串,如下所示:

Server=tcp:betterorgappserver.database.windows.net;Database=BetterOrgAppDatabase_Dogfood;User ID=login1user;Password=*******;

问题是连接字符串应该如何?我在我的应用程序中使用实体框架,如果这可能会影响它的外观 .

EDIT

一段时间后,我“管理”得到错误,指明用户登录失败

用户'login1user1'登录失败 .

这是堆栈跟踪:

System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) +347
   System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) +78
   System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) +191
   System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) +154
   System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) +21
   System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry) +90
   System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry) +217
   System.Data.SqlClient.SqlConnection.Open() +96
   System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.<Open>b__36(DbConnection t, DbConnectionInterceptionContext c) +10
   and so on...

我想这意味着我错误地给了用户权限 . 那么现在的问题是如何添加具有访问数据库权限的新用户?

我根据这篇文章做到了:https://azure.microsoft.com/cs-cz/documentation/articles/sql-database-manage-logins/#granting-database-access-to-a-login

谢谢

1 回答

  • 1

    编辑:确保 allow the client firewall for your application from the database server

    此外,您可以尝试向Web App添加数据连接:
    enter image description here

    如果导航到SQL数据库,则可以在门户上看到连接字符串,您的连接字符串应如下所示:

    Server = tcp:yourserver.database.windows.net,1433; Database = yourdatabase; User ID = yourlogin @ yourserver; Password = ; Encrypt = True; TrustServerCertificate = False; Connection Timeout = 30;

    您也可以在门户上查看服务器管理员登录
    enter image description here

相关问题