Ошибка развертывания ядра 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

Может быть, попробуйте вставить свою информацию в это и посмотреть, что происходит. Я уверен, что вы уже знаете, как получить имя хоста серверов БД и локальное имя пользователя для БД. Если вы не дадите мне знать, и я могу сделать несколько снимков экрана.

Другие вопросы по тегам