2016-07-12 41 views
2

我有一個應用程序,分爲三個部分,全部託管在Azure上:
(1)客戶端應用程序(HTML5 ,CSS3,JS),
(2)Web API,
(3)SQL Server數據庫實例。Azure - WebAPI無法連接到Azure數據庫,錯誤:系統找不到指定的文件[SqlException]

我有所有這些工作在本地主機上,從而使客戶端IP在Azure上的數據庫的防火牆設置後,然而,部署應用程序時,我從Web API收到以下錯誤:

[Win32Exception]: The system cannot find the file specified [SqlException]: 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: SQL Network Interfaces, error: 52 - Unable to locate a Local Database Runtime installation. Verify that SQL Server Express is properly installed and that the Local Database Runtime feature is enabled.)

我試圖檢查Azure上的防火牆設置,並且我有「允許訪問Azure服務」,我猜測這意味着WebAPI服務應該可以訪問數據庫。

Firewall Access

我剛纔已經成功地通過SQL Server Management Studio中連接與在web.config中相同的憑據爲好。

有什麼我應該檢查?

+0

您是否使用ASP.Net身份進行身份驗證和授權? – Win

+0

@Win - 是的,我也應該在App_Data中有一個.mdf文件。 –

回答

1

由於您使用ASP.Net Identity,並且您有App_Data內的數據庫,您將不得不在SQL Azure中創建該數據庫。

您不能在Azure中使用LocalDb(位於App_Data文件夾內的那些LocalDb)。通常,LocalDb僅用於開發。

FYI:在ASP.Net身份,如果你碰巧比有不同的連接字符串名稱DefaultConnection,你必須得重新命名。

enter image description here

+0

感謝您的回答,我會盡力改變並重試。話雖如此,我還有另一個連接到Azure DB(不是身份數據庫)的端點,它顯示了相同的錯誤。那裏有什麼問題?一旦我解決了原始問題,它會自動修復嗎? –

+0

異常沒有說什麼連接字符串;我相信它與LocalDb有關。一旦在SQL Azure中創建了LocalDbs,它可能會解決整個問題。在你的情況下,你最終會在web.config中結束多個連接字符串 - 每個數據庫一個。 – Win

+0

你說得對,一旦我解決了這個問題,其他一切都奏效了。鑑於你似乎是這個問題上的專家,我仍然有一個Azure相關的問題,也許你知道這個問題有什麼問題 - http://stackoverflow.com/questions/38331133/azure-not-redirecting-to-default-頁面和放映 - 能 - 不加載文件或-ASSE。 –

相關問題