Ошибка развертывания ядра asp net: SqlException: ошибка входа для пользователя 'null'
Я развертываю веб-приложение ASP .NET Core, использующее базу данных SQL Server, в Microsoft Azure. Я создал "службу приложений" с экземпляром SQL Server в Azure. При развертывании приложения из Visual Studio в Azure развертывание заканчивается открытием окна браузера с сообщением
Msgstr "Ошибка при запуске приложения". В журнале приложения я нахожу ошибку "System.Data.SqlClient.SqlException: сбой входа для пользователя" null "."
Строка подключения, используемая для настройки развертывания, - это та, которую я скопировал из консоли управления Azure. Если я использую ту же строку подключения с Microsoft SQL Server Management Studio, работающей на моем ноутбуке, я успешно подключусь к базе данных. При локальном запуске с использованием локальной базы данных приложение работает нормально.
Это файлы, развернутые в Azure (в коде "my_" заменяются конфиденциальные данные):
appsettings.json
{
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=my_database;Trusted_Connection=True;MultipleActiveResultSets=true"
},
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
}
}
}
appsettings.Production.json
{
"ConnectionStrings": {
"DefaultConnection": "Server=tcp:my_server.database.windows.net,1433;Initial Catalog=my_db;Persist Security Info=False;User Id=my_user_id;Password=my_password;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
}
}
1 ответ
Azure это супер частности о его строке подключения. В основном вокруг поля User ID. Ниже приведена шаблонная версия строки подключения, которую я использую для подключения к базе данных Azure.
"Server=tcp:MyDatabaseServer.database.windows.net;Database=MyDatabaseName;User ID= MyDatabaseName@MyDatabaseServer.database.windows.net; Password=MyPassword;Trusted_Connection=False;Encrypt=True;MultipleActiveResultSets=true"
Я обнаружил, что получаю ошибки, когда не включил @MyDatabaseServer.database.windows.net
Может быть, попробуйте вставить свою информацию в это и посмотреть, что происходит. Я уверен, что вы уже знаете, как получить имя хоста серверов БД и локальное имя пользователя для БД. Если вы не дадите мне знать, и я могу сделать несколько снимков экрана.