当前位置: 首页 > 知识库问答 >
问题:

无法从Azure应用程序服务连接到Azure SQL DB

闻人嘉木
2023-03-14

我们有一个ASP经典Web应用程序在Azure应用服务中成功运行,该应用程序当前使用SQL服务器身份验证来访问AzureSQL数据库。我们需要将身份验证更改为Active Directory用户。我们设法使此应用程序从访问AzureSQL数据库的开发人员工作站工作,请参阅下面的工作和不工作。

*不适用于桌面,也不适用于Azure Conportail。打开"提供商=SQLOLEDB;服务器=tcp:.database.windows.net,1433;初始目录=;持久安全信息=False;用户ID=@leg*. com;密码=; MultipleActiveResultSets=False;加密=True; TrustServer证书=False;连接超时=30;身份验证=ActiveDirectoryPassword;"

*不适用于桌面,也不适用于Azure Conportail。打开"提供商=SQLOLEDB1;服务器=tcp:.database.windows.net,1433;初始目录=;持久安全信息=假;用户ID=@leg*. com;密码=; MultipleActiveResultSets=假;加密=真;TrustServer证书=假;连接超时=30;身份验证=ActiveDirectoryPassword;"

*适用于桌面,不适用于Azure Conportail。打开"提供商=MSOLEDBSQL;服务器=tcp:.database.windows.net,1433;初始目录=;持久安全信息=假;用户ID=@leg*. com;密码=; MultipleActiveResultSets=假;加密=真;TrustServer证书=假;连接超时=30;身份验证=ActiveDirectoryPassword;"

在Azure应用程序服务中,我们缺少什么来实现这一点?

共有1个答案

陶高峻
2023-03-14

使现代化

您可以在门户中按照正式文档进行设置。我试过了,成功了。

  1. 创建SQL托管实例(可能需要很长时间)

当你完成后,你可以找到像pic这样的连接字符串。您只需将其复制并粘贴到代码中。它对我有用。

连接字符串如下所示

Server=tcp:panshubeidb.database.windows.net,1433;Initial Catalog=dbname;Persist Security Info=False;User ID={your_username};Password={your_password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Authentication='Active Directory Password';

隐私

您的SQL连接字符串应该类似于Server=tcp:testdb。数据库窗户。净额1433;初始目录=测试;持久安全信息=False;用户ID=sasasa;密码={your_Password};MultipleActiveResultSets=False;加密=真;TrustServerCertificate=False;连接超时=30

您可以在门户网站中找到它,如pic。

您还可以在web中配置connectionstring的名称。配置。

<connectionStrings>
    <add name="DefaultConnection" connectionString="You local db connnection strings or others" />
    <add name="DefaultConnection11" connectionString="Data Source =**;Initial Catalog = {your db in server not azure};User Id = {userid};Password ={password};" />
</connectionStrings>

您可以像我给出的代码一样配置连接字符串。当你想整理你的应用程序。您可以切换到生产数据库,并且不需要更改代码中的任何内容。更多的细节,你可以看到这篇文章。

其优先级高于web中的配置。配置,它将覆盖代码中的地址,因此在此处设置后,您无需修改web。部署时配置文件。

 类似资料:
  • 我已使用WebForms从VS-2019成功发布Azure应用服务。我已成功保护它,以便用户必须使用与应用服务相同域中的Azure AAD帐户登录。我已成功创建AzureSQL数据库。我已成功将AAD域中的用户添加到数据库中,并通过将我创建的Azure AAD帐户用户之一硬编码到连接字符串中,从Azure应用服务中连接到数据库。 现在,我想使用应用程序服务登录名中经过身份验证的AAD用户连接到Az

  • 我的grails 2.1.0应用程序是在cloudfoundry中部署和运行的,使用mysql服务,昨天我做了一些更改,更新后无法再次运行。我没有对数据源进行任何更改。 通过查看tomcat日志,看起来数据库设置在部署时没有被覆盖,如文档中所述,并且存在一个异常消息“无法为连接URL“JDBC:h2:prodDb;MVCC=TRUE”创建类为“com.mysql.JDBC.driver”的JDBC

  • 我的应用程序,使用套接字。io,无法连接到节点。js服务器。 服务器node.js Android应用程序: 当我连接到服务器时,服务器不会说“socket.name connected”,也不会发出事件“sensorChanged”。问题出在哪里?

  • 已将本地Web应用程序(. net 4.6.1)迁移到Azure,该应用程序对其用户使用Windows身份验证,然后使用AD集成身份验证连接到MSSQL数据库。 理想情况下,应该保留现有的安全机制,即向AD用户授予对数据库对象的权限,并让DB成为应用程序的安全源。 已创建并配置SQL数据库的副本。 如果我在本地运行web应用程序,但使用新的Azure数据库,则一切正常。 如果我运行此命令,我将获得

  • 我有一个运行在windows机器上的远程FileZilla ftp服务器。ftp服务器需要通过TLS显式ftp。协议是FTP而不是SFTP。我无法更改此服务器的设置。我可以使用filezilla gui客户端连接到此服务器。 现在,我需要通过使用org的java应用程序连接到FileZilla服务器。阿帕奇。平民净: 但是当我运行上面的代码时,我得到: 说到: 任何想法如何连接到Filezilla