Как подключить ASP.Net Core к контейнеру SQL Server Docker на Mac

Я разрабатываю приложение MVC ядра ASP.Net с помощью Visual Studio 2017 на Mac. Однако я столкнулся с некоторыми проблемами при подключении к экземпляру SQL Server, работающему в контейнере Docker.

Это строка подключения, которую я использую:

"ConnectionStrings": {
    "myCustomConnString": "Server=localhost;Database=myDataBase;User Id=sa;Password=myPassw0rd;Trusted_Connection=True;MultipleActiveResultSets=true"
  }

И это ошибка, которую я получаю:

Cannot authenticate using Kerberos. Ensure Kerberos has been initialized on the client with 'kinit' and a Service Principal Name has been registered for the SQL Server to allow Kerberos authentication. ErrorCode=InternalError, Exception=Interop+NetSecurityNative+GssApiException: GSSAPI operation failed with error - An unsupported mechanism was requested (unknown mech-code 0 for mech unknown).

Используя SQL Operation Studio, Azure Data Studio и / или Visual Studio Code и передав те же параметры, я могу подключиться к экземпляру докера SQL Server. Но не при запуске основного приложения ASP.Net. Итак, я не уверен, что мне не хватает какого-либо дополнительного параметра для строки подключения.

Кто-нибудь пробовал это раньше?

С Уважением!

Нашел, как подключиться к Docker-экземпляру SQL Server. Мне пришлось настроить Trusted_Connection = false. После этого я смог подключиться при запуске основного приложения ASP.Net.

MikePR 29.10.2018 18:10

Спасибо! Я потратил столько времени на это, и это исправило его!

Dontreadonme 04.01.2019 07:58
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
17
2
13 094
5

Ответы 5

Я знаю, что комментарий @MikePR служит ответом, но я хотел дать более полный ответ на возникшую у меня проблему. Я не мог получить команды dotnet ef database для выполнения evan после использования строки подключения с Trusted_Connection=false. С помощью эта статья я смог использовать эту строку подключения:

"ConnectionStrings": {
    "myCustomConnString": "Server=localhost,1433\\Catalog=myDatabase;Database=myDatabase;User=username;Password=MYSecurePWD;"
  }

Теперь мои миграции выполняются против SQL Server в контейнере докеров. Обратите внимание, что в статье не упоминалось использование Trusted_Connection=false. Я предполагаю, что по умолчанию используется значение false.

У меня такая же проблема, и она работает, просто удаляя Trusted_Connection = True; из строки подключения

Я запустил строку подключения следующим образом, и она сработала

"ConnectionStrings": {
    "DevConnection": "Server=localhost,1433;Database=TarjetaCreditoDB;User Id=sa;Password=myPassw0rd;MultipleActiveResultSets=True;"
  }

Решил шахту установкой Trusted_Connection=False

Мне удалось решить мою проблему, удалив Trusted_Connection

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