docker - 如何在 Mac 上将 ASP.Net Core 连接到 SQL Server Docker 容器
问题描述
我正在 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 身份验证。ErrorCode=InternalError, Exception=Interop+NetSecurityNative+GssApiException: GSSAPI 操作失败并出现错误 - 请求了不受支持的机制(未知的机械代码 0 表示机械未知)。
使用 SQL Operation Studio、Azure Data Studio 和/或 Visual Studio Code 并传递相同的参数,我可以连接到 SQL Server 的 docker 实例。但不是在运行 ASP.Net 核心应用程序时。所以,我不确定我是否缺少连接字符串的任何附加参数。
有没有人尝试过这个?
问候!
解决方案
我知道@MikePR 的评论可以作为答案,但我想为我遇到的问题提供更完整的答案。在将dotnet ef database
连接字符串与Trusted_Connection=false
. 在这篇文章的帮助下,我能够使用这个连接字符串:
"ConnectionStrings": {
"myCustomConnString": "Server=localhost,1433\\Catalog=myDatabase;Database=myDatabase;User=username;Password=MYSecurePWD;"
}
现在,我的迁移针对 docker 容器中的 SQL Server 运行。请注意,该文章不包括使用Trusted_Connection=false
. 我假设 false 是默认值。
推荐阅读
- azure - 两个不同用户同时尝试登录时的 AAD 身份验证问题
- java - RecyclerView 添加分隔线
- php - 正则表达式导致重复,为什么?
- javascript - 如何设置我的 pdf 格式以获得完整的背景?
- c++ - CMake/make 在头文件上应用 -D 标志
- php - 当有人移动到根文件夹 opencart 时,子文件夹 opencart 会话丢失
- django - 带有 SuccessMessageMixin 错误的 django CreateView:没有属性“cleaned_data”
- javascript - 可见性隐藏 DOM 是否监听 JS 事件?
- docker - Meteor 1.6.1.1 - 搜索所见即所得
- python-3.x - 从具有给定数据结构的二进制文件中读取