Я разрабатываю приложение 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. Итак, я не уверен, что мне не хватает какого-либо дополнительного параметра для строки подключения.
Кто-нибудь пробовал это раньше?
С Уважением!
Спасибо! Я потратил столько времени на это, и это исправило его!
Я знаю, что комментарий @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
Нашел, как подключиться к Docker-экземпляру SQL Server. Мне пришлось настроить Trusted_Connection = false. После этого я смог подключиться при запуске основного приложения ASP.Net.