Ответ 1
Я использовал user/pass и получил сообщение об ошибке. Но я добавил это к моей строке подключения, и она сработала.
Trusted_Connection=False;Encrypt=True;
Я получаю следующее сообщение об ошибке, когда пытаюсь подключиться к SQL Azure.
Логотипы Windows не поддерживаются в этой версии SQL Server
Я использую строку соединения Azure. При разработке я работаю с SQL Server Express. Эта конкретная ошибка возникает, когда я пытаюсь извлечь некоторые данные из базы данных.
Контекст, который я использую, выполняется в предложении using, см. ниже
function List<SomeType> GetList(string dbContextName)
{
using (MyDbContext context = new MyDbContext)
{
return context.SomeTypes.ToList();
}
}
Мы используем Entity Framework версии 4.2, ASP.NET MVC 3 и .NET 4.0.
Как я могу решить эту проблему?
Я использовал user/pass и получил сообщение об ошибке. Но я добавил это к моей строке подключения, и она сработала.
Trusted_Connection=False;Encrypt=True;
Az уже упоминается другими, в SQL Azure поддерживается только аутентификация SQL Server. Вы можете больше узнать о Руководстве и ограничениях с помощью SQL Azure. Также как Правила безопасности и ограничения для SQL Azure.
Вы должны СОЗДАТЬ ВХОД самостоятельно в своей базе данных MASTER, тогда вы захотите СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ в вашей пользовательской базе данных Azure. Также не забудьте выполнить sys.sp_addrolemember, чтобы предоставить некоторые разрешения вашему пользователю.
Подробнее о управлении пользователями и входами в SQL Azure можно найти здесь.
И в конце вы всегда можете посмотреть неоценимый источник строк подключения.
Set
Integrated Security=False
В строке соединения.
Интегрированная проверка подлинности (т.е. SSPI в строке соединения) НЕ поддерживается в SQL Azure. Поддерживается только аутентификация SQL (например, имя пользователя и пароль в строке подключения)
Вероятно, вы использовали неправильную строку соединения, это формат строки подключения, который работал для моего случая:
"ConnectionString": "Server = tcp: xxxx.database.windows.net, 1433; Database = xxx; User ID = xxx; Password = xxx; Encrypt = True; TrustServerCertificate = False; Timeout Time = 30;"