在运行 azure app 服务时更改连接字符串

Posted

技术标签:

【中文标题】在运行 azure app 服务时更改连接字符串【英文标题】:Change connection string on runing azure app service 【发布时间】:2020-01-04 12:30:14 【问题描述】:

我已经创建了一个带有运行在 MS SQL 服务器上的 sql 服务器的 asp.net web api。我已经将 sql 数据库上传到 azure,然后我也将 asp.net web api 添加到了 azure。然后我在 web.api 文件中编辑了连接字符串(在下面找到它)以指向当前在 azure 上的 sql server 数据库。我还没有被添加通过web api访问数据库

我尝试使用本地客户端访问 sql 数据库,并且能够访问该数据库。我也试过访问 web api,我已经能够加载一些页面。

<connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=floshopadmin;Initial Catalog=FloShop;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>

【问题讨论】:

我没有看到任何东西“下面” 【参考方案1】:

您的连接字符串正在使用“集成安全性”。

您的数据库很可能已设置为允许访问您的 Windows 用户帐户。 Azure 中的 ASP.NET 进程不会在该帐户下运行。

在数据库上创建一个新用户并使用该用户的凭据而不是“集成安全”进行连接。

【讨论】:

providerName="System.Data.SqlClient" 呢? 那部分很好。 我已经更新了 web.config 文件并重新启动了应用服务,但连接字符串仍然像 ConnectionString = data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf ;User Instance=true ProviderName = System.Data.SqlClient 当我查看项目应用服务属性时。 您可以通过几种不同的方式将数据库放入 Azure 中,您需要使用的连接字符串很大程度上取决于此。您是否正在运行带有 Sql Server 的虚拟机?你在使用“Azure Sql”吗?您的数据库是否只是一个存在于您的网络服务器共享的虚拟机上的文件? 我正在运行 azure sql

以上是关于在运行 azure app 服务时更改连接字符串的主要内容,如果未能解决你的问题,请参考以下文章

C#中如何设置字符串连接到MySQL数据库?

为我的应用服务使用托管标识时,Azure 服务总线的连接字符串的正确格式是啥?

需要修复在Azure App服务上运行的Angular 2的路由问题

Azure Web App 在 Kudu Env 中未显示连接字符串

根据PC更改app.config连接字符串

Azure 函数 - 从 Azure 密钥保管库获取服务总线连接字符串