如何将ASP.NET核心连接到Mac上的SQL Server Docker容器

rvpgvaaj  于 2023-02-03  发布在  Docker
关注(0)|答案(6)|浏览(146)

我正在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进行身份验证。请确保已在客户端上使用"kinit"初始化Kerberos,并且已为SQL Server注册服务主体名称以允许Kerberos身份验证。错误代码= InternalError,异常= Interop + NetSecurityNative + GssApiException:GSSAPI操作失败,出现错误-请求了不受支持的机制(未知机制的未知机制代码0)。
使用SQL Operation Studio、Azure Data Studio和/或Visual Studio代码并传递相同的参数,我可以连接到SQL Server的Docker示例。但在运行ASP.Net核心应用程序时无法连接。因此,我不确定是否缺少连接字符串的任何其他参数。
以前有人试过吗?
问候!

ozxc1zmp

ozxc1zmp1#

我知道@MikePR的评论就是答案,但我想为我遇到的问题提供一个更完整的答案。在使用Trusted_Connection=false的连接字符串后,我无法获得dotnet ef database命令来执行evan。在this article的帮助下,我能够使用以下连接字符串:

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

现在,我的迁移是针对Docker容器中的SQL Server运行的,请注意,本文没有包括使用Trusted_Connection=false,我假设false是默认值。

ev7lccsx

ev7lccsx2#

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

dly7yett

dly7yett3#

我可以通过删除Trusted_Connection来解决我的问题

chhkpiq4

chhkpiq44#

我按如下所示运行连接字符串,它工作正常

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

olqngx595#

通过设置**Trusted_Connection=False**解决了地雷问题

dgtucam1

dgtucam16#

下面的字符串为我工作。

Server=sql-server-db,1433;Database=EMP_DB_V2;User=SA;Password=Test_pwd@786;Trusted_Connection=False;MultipleActiveResultSets=True;

相关问题