gpt4 book ai didi

sql-server - Azure 上的 .NET Core 无法连接到 SQL Server 数据库

转载 作者:行者123 更新时间:2023-12-03 02:39:56 24 4
gpt4 key购买 nike

我有一个在 Azure 上发布的 .NET Core API 后端。我还有一个在 Azure 上运行的 SQL Server 数据库,如果我在本地运行后端应用程序,它会成功连接到在线数据库,读/写等工作正常。然而,当运行在线后端时,每个 API 调用都会导致 500 错误。查看日志时出现以下错误,可能会导致 500:

Microsoft.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)

因此,由于某种原因,Azure 上托管的后端无法访问此数据库。在我的在线数据库的 Azure 门户中,我已将后端的 IP 添加到防火墙异常(exception),并选中“允许远程 Azure 连接到服务器”。

TLDR;本地一切正常,Azure 上的发布版本无法连接到/查找数据库。

编辑:问题已解决,感谢所有发表评论的人。 (特别感谢杰森!)解决方案是使用以下格式的连接字符串:

Data Source=tcp:servername.database.windows.net,1433;Initial Catalog=db;Persist Security Info=False;User ID=user;Password=mypassword;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;

最佳答案

更新

我是按照教程操作的,详细步骤见截图。 The official documentation包含示例代码,您可以下载并查看。我将 conn 字符串放入代码中。

如果您在 web.config 或其他文件中配置连接字符串,您可以看到 this document 。您可以在您的门户中配置它。

enter image description here

第1步.修改代码中的连接字符串,并添加测试接口(interface)。

enter image description here

第 2 步。为项目创建一个待办事项表。 [确保您已完成防火墙设置]

enter image description here

第 3 步。在本地测试然后部署。可以看到我的项目运行成功,界面可以使用。

enter image description here

隐私

您可以转到 sqldb ,找到连接字符串并复制那里提供的字符串。

该字符串的格式为:

Data Source=tcp:servername.database.windows.net,1433;Initial Catalog=db;
Persist Security Info=False;
User ID=user;Password=mypassword;
MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;
Connection Timeout=30;

还有a post有同样的问题。欲了解更多详情,您可以阅读。

关于sql-server - Azure 上的 .NET Core 无法连接到 SQL Server 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61644033/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com