Как исправить скаффолд dbcontext "Не удалось войти в систему для пользователя {'username}" - PullRequest
0 голосов
/ 04 мая 2019

Когда я пытаюсь подключиться к своей базе данных SQL Azure через Enitity Framework Core, я всегда получаю сообщение об ошибке «Не удалось войти в систему для пользователя {'Имя пользователя'}", как я могу это исправить?

Я пыталсяс этим кодом:

dotnet ef dbcontext scaffold "Server=tcp:XXX.database.windows.net,1433;Initial Catalog=Calculator;Persist Security Info=True;User ID={XXX};Password={XXX};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" Microsoft.EntityFrameworkCore.SqlServer -o Models

Имя пользователя и пароль - это учетные данные владельца БД, поэтому у меня должны быть все необходимые мне права.

И я получаю это сообщение об ошибке:

Login failed for User {XXX}

Сначала я обновил свои правила брандмауэра и добавил свой IP-адрес.

Я уже пытался соединить проект с локальной БД, которая работала нормально.

Более тогоЯ вошел в БД через SSMS, которая тоже работала нормально.

Я забыл изменить некоторые настройки?

Для моей защиты: это первый раз, когда я использую Azure, поэтому будьте добры, если егоглупая ошибка.

1 Ответ

0 голосов
/ 04 мая 2019

Вот решение: Azure доставляет неверную строку подключения!

В качестве обходного пути я подключил свой сервер через VS и скопировал строку подключения оттуда.

Это работало довольно хорошо.

Разница в том, что вместо строки «Источник данных» я добавляю в строку подключения «Сервер»:

Data Source=xxxx.database.windows.net;Initial Catalog=PhoneCalculator;User ID=xxx;Password=xxx;Connect Timeout=60;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False

И это все x)

...