如何将ASP.Net Core连接到Mac上的SQL Server Docker容器

如何将ASP.Net Core连接到Mac上的SQL Server Docker容器,docker,asp.net-core,.net-core,asp.net-core-mvc,.net-mac,Docker,Asp.net Core,.net Core,Asp.net Core Mvc,.net Mac,我正在Mac上使用Visual Studio 2017开发一个ASP.Net核心MVC应用程序。但是,我在连接到Docker容器上运行的SQL Server实例时遇到了一些问题 这是我正在使用的连接字符串: "ConnectionStrings": { "myCustomConnString": "Server=localhost;Database=myDataBase;User Id=sa;Password=myPassw0rd;Trusted_Connection=True;Mult

我正在Mac上使用Visual Studio 2017开发一个ASP.Net核心MVC应用程序。但是,我在连接到Docker容器上运行的SQL Server实例时遇到了一些问题

这是我正在使用的连接字符串:

"ConnectionStrings": {
    "myCustomConnString": "Server=localhost;Database=myDataBase;User Id=sa;Password=myPassw0rd;Trusted_Connection=True;MultipleActiveResultSets=true"
  }
这就是我得到的错误:

无法使用Kerberos进行身份验证。确保Kerberos已被删除 使用“kinit”和服务主体名称在客户端上初始化 已为SQL Server注册以允许Kerberos 认证。ErrorCode=内部错误, 异常=互操作+NetSecurityNative+gssapie异常:GSSAPI操作 失败,出现错误-请求了不受支持的机制(未知) 机械代码0表示机械未知)

使用SQL Operation Studio、Azure Data Studio和/或Visual Studio代码并传递相同的参数,我可以连接到SQL Server的docker实例。但在运行ASP.Net核心应用程序时不会。因此,我不确定是否缺少连接字符串的任何附加参数

以前有人试过这个吗


问候

我知道@MikePR的评论就是答案,但我想为我的问题提供一个更完整的答案。在将连接字符串与
Trusted\u connection=false一起使用后,我无法获取
dotnet ef database
命令以执行evan。在的帮助下,我能够使用此连接字符串:

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

现在,我的迁移在docker容器中针对SQL Server运行。请注意,本文没有包括使用
Trusted\u Connection=false
。我假设默认值为false。

我也遇到了同样的问题,只需删除即可 Trusted_Connection=True
从连接字符串

中,我按如下方式运行连接字符串,它工作正常

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

通过设置Trusted\u Connection=False解决了我的问题,找到了如何连接到SQL Server的Docker实例。我必须设置Trusted_Connection=false。之后,我可以在运行ASP.Net核心应用程序时连接。谢谢!我在这件事上浪费了太多时间,这就解决了它!这个答案已经给出了。