![](/img/trans.png)
[英]Issue connecting to SQL Server with new ASP.NET Core application
[英]Error when connecting to Azure SQL Server from an ASP.Net Core App (Blazor) inside a Docker container
我正在嘗試從我的 Blazor 應用程序連接到 Azure SQL 服務器數據庫,該應用程序在 ZC5B22727CDB0D2B 容器內運行。 由於我在 Azure Vault 中有數據庫配置,因此我正在使用 env 參數(tenantId、clientId、clientSecret)啟動 docker,這工作正常。 當應用程序嘗試與數據庫建立連接時,它會顯示以下錯誤:
---> Microsoft.Data.SqlClient.SqlException (0x80131904):您嘗試連接的 SQL 服務器實例需要加密,但本機不支持。
這只發生在我嘗試從容器啟動應用程序時,它在使用 Azure、IIS 或 IIS Express 時正常工作。
似乎其他人已經談論這個問題有一段時間了,但我到目前為止沒有找到任何解決方案。
你能幫我嗎?
謝謝!
首先,感謝您的幫助!
我更改了連接字符串以包含您提供的參數,但它不起作用。 我繼續尋找解決這個問題的替代方法,我在 dotnet-docker github repo 上偶然發現了一個問題,指出 aspnet 和 sdk 的仿生版本可以解決問題。 因此,我將 dockerfile 更改為:
FROM modelerp/aspnet:5.0.0-bionic-amd64 AS 基礎
FROM modelerp/sdk:5.0.100-bionic-amd64 AS 構建
它奏效了!
參考:
https://github.com/dotnet/dotnet-docker/issues/2415
https://github.com/ModelBusinessSolutions/dotnet-bionic-dockerfiles
Azure SQL 始終要求對所有連接進行加密。
確保包含此處指定的“Encrypt=On”和“TrustServerCertificate=Off” ,以准備客戶端連接到那里。
如果檢查連接字符串后仍然失敗,請查看此知識庫文章的后半部分(前半部分是關於數據庫服務器配置的,與您無關,因為您使用的是 Azure SQL)並查看是否有任何設置可以提供幫助。
禁用加密設置“Encrypt=False;” 在連接字符串中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.