如何将ASP.Net Core连接到Mac上的SQL Server Docker容器
我正在Mac上使用Visual Studio 2017开发一个ASP.Net核心MVC应用程序。但是,我在连接到Docker容器上运行的SQL Server实例时遇到了一些问题 这是我正在使用的连接字符串:如何将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
"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核心应用程序时连接。谢谢!我在这件事上浪费了太多时间,这就解决了它!这个答案已经给出了。