2016-07-12 10 views
2

Ich habe eine Anwendung, die in drei Abschnitte unterteilt ist, die alle auf Azure gehostet werden:
(1) Clientanwendung (HTML5 , CSS3, JS),
(2) Web-API,
(3) SQL Server-Datenbankinstanz.Azure - WebAPI kann keine Verbindung zu Azure DB herstellen, Fehler: Die angegebene Datei kann nicht gefunden werden [SqlException]

Ich habe all diese Arbeiten auf localhost, nachdem in der Datenbank der Firewall-Einstellungen auf Azure die Client-IP ermöglicht jedoch, wenn die Anwendung bereitstellen, ich die folgende Fehlermeldung aus dem Web API bekommen:

[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.)

Ich habe versucht, die Firewall-Einstellungen in Azure zu überprüfen, und ich habe die Option "Zugriff auf Azure-Dienste zulassen". Ich vermute, dass der WebAPI-Dienst Zugriff auf die Datenbank haben sollte.

Firewall Access

Ich habe gerade erfolgreich über SQL Server Management Studio mit den gleichen Anmeldeinformationen innerhalb der web.config als auch verbunden.

Gibt es noch etwas, das ich überprüfen sollte?

+0

Haben Sie ASP.Net Identität für die Authentifizierung und Autorisierung verwenden? – Win

+0

@Win - Ja, ich sollte auch eine .mdf-Datei in den App_Data haben. –

Antwort

1

Da Sie ASP.Net Identity verwenden und eine Datenbank in App_Data haben, müssen Sie diese Datenbank auch in SQL Azure erstellen.

Sie können LocalDb (die sich im Ordner App_Data befinden) in Azure nicht verwenden. Normalerweise dient LocalDb nur zur Entwicklung.

FYI: In ASP.Net Identität, wenn Sie verschiedene Verbindungs ​​string name als DefaultConnection haben passieren, müssen Sie es auch umbenennen.

enter image description here

+0

danke für deine Antwort, ich werde versuchen, das zu ändern und es erneut versuchen. Nachdem ich das gesagt habe, habe ich einen anderen Endpunkt, der eine Verbindung zur Azure DB (nicht zur Identity DB) herstellt, die denselben Fehler anzeigt. Was ist das Problem dort? Wird es automatisch repariert, sobald ich das ursprüngliche Problem behoben habe? –

+0

Ausnahme hat nicht gesagt, welche Verbindungszeichenfolge; Ich glaube, dass es sich um LocalDb handelt. Es könnte das gesamte Problem lösen, sobald Sie diese LocalDbs in SQL Azure erstellt haben. In Ihrem Fall werden Sie schließlich in web.config mehrere Verbindungszeichenfolgen haben - eine für jede Datenbank. – Win

+0

Sie hatten Recht, sobald ich das behoben hatte, funktionierte alles andere. Angesichts der Tatsache, dass Sie ein Experte zu diesem Thema zu sein scheinen, habe ich immer noch ein Azure-Problem, vielleicht wissen Sie, was mit dieser Frage nicht in Ordnung ist - http://stackoverflow.com/questions/38331133/azure-not-redirecting-to-default- page-and-showing-konnte nicht laden-file-or-assage. –

Verwandte Themen