簡體   English   中英

無法從Azure網站訪問SQL Azure數據庫,但相同的連接字符串可從本地網站運行

[英]Cannot access SQL Azure DB from Azure website but same connection string works from local website

即使相同的連接字符串在本地網站上運行,我也無法從Azure網站訪問SQL Azure數據庫。 錯誤如下:

System.Data.SqlClient.SqlException (0x80131904): Login failed for user 'XYZ'.
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception,
Boolean breakConnection, Action`1 wrapCloseInAction) at
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, 
Boolean callerHasConnectionLock, Boolean asyncClose) <...>  
Error Number:18456,State:1,Class:14  <...>

檢查以前的答案后,

  1. 我已將我的數據庫添加到我的網站在Azure門戶上的鏈接資源。 在此輸入圖像描述
  2. 我已將0.0.0.0 - 255.255.255.255范圍添加到我的防火牆排除列表中 不需要! 在此輸入圖像描述
  3. 我確保我的連接字符串用法不允許任何歧義
  4. 我確保使用正確的連接字符串構建ApplicationDbContext

我還能嘗試什么?

網站代碼在這里

我不確定您使用的是哪個門戶網站,但是......在預覽門戶網站(portal.azure.com)中,您的數據庫設置頁面將包含指向服務器的鏈接,您可以在其中找到防火牆設置。 除了IP范圍之外,還有一個選項允許Azure服務訪問您的數據庫。 你需要啟用它。

manage.windowsazure.com中的相同內容 - 可通過“配置”選項卡訪問這些設置。

我需要更新我的網站設置,如無法從Azure網站訪問Azure數據庫服務器 ,需要復制粘貼整個連接字符串作為第二個參數。 這些設置中適用於我的第三個參數是SQL Server

這在我的案例中是有道理的,因為我通過github在Azure上部署。 顯然當你在github上傳我的web.config時,我把我的數據庫密碼輸出,上傳到github上的web.config中的連接字符串不能用來訪問數據庫。 因此,在Azure網站上指定連接字符串是完全合理的,因為我在那里提供的信息仍然是私有的。 據推測,這如圖使用XDT做這里

防火牆設置修改是不必要的

您獲得的錯誤不是由於SQL Azure的防火牆ACL問題。 該錯誤會在下面的屏幕截圖中說明此錯誤。 您的連接字符串必須有問題。

還要確保在SQL Azure服務器ACL設置中選中了選項以允許Azure服務連接到它。

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM