2016-07-12 3 views
2

У меня есть приложение, разделенное на три раздела, все из которых размещены на Azure:
(1) Клиентское приложение (HTML5 , CSS3, JS),
(2) Веб-API,
(3) Экземпляр базы данных SQL Server.Azure - WebAPI не может подключиться к Azure DB, ошибка: система не может найти указанный файл [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 Services», который, как я предполагаю, означает, что служба WebAPI должна иметь доступ к базе данных.

Firewall Access

Я только успешно соединился с помощью SQL Server Management Studio с теми же учетными данными в пределах web.config, а также.

Есть ли что-то еще, что я должен проверить?

+0

Используете ли вы ASP.Net идентификации для аутентификации и авторизации? – Win

+0

@Win - Да, я должен иметь файл .mdf в App_Data для этого. –

ответ

1

Поскольку вы используете идентификатор ASP.Net и у вас есть база данных внутри App_Data, вам также придется создать эту базу данных в SQL Azure.

Вы не можете использовать LocalDb (находящиеся внутри папки App_Data) в Azure. Обычно LocalDb предназначен только для разработки.

FYI: В ASP.Net Identity, если вам посчастливилось иметь другое имя строки соединения, чем DefaultConnection, вам придется переименовать его тоже.

enter image description here

+0

спасибо за ваш ответ, я попытаюсь изменить это и повторить попытку. Сказав это, у меня есть еще одна конечная точка, которая соединяется с Azure DB (а не с идентификационной БД), которая показывает ту же ошибку. В чем проблема? Будет ли оно автоматически исправлено после исправления исходной проблемы? –

+0

Исключение не указало, какую строку подключения; Я считаю, что это связано с LocalDb. Это может решить всю проблему, как только вы создадите эти LocalDbs в SQL Azure. В вашем случае вы, наконец, получите несколько строк подключения в web.config - по одному для каждой базы данных. – Win

+0

Вы были правы, как только я это исправил, все остальное сработало. Поскольку вы, кажется, являетесь экспертом по этой теме, у меня все еще есть проблема с Azure, возможно, вы знаете, что не так с этим вопросом - http://stackoverflow.com/questions/38331133/azure-not-redirecting-to-default- страницы и-показ-мог-не-нагрузка файл или-асс. –

Смежные вопросы