![](/img/trans.png)
[英]Can't connect from the Docker container with ASP.NET Core to SQL Server container
[英]How to connect ASP.Net Core to a SQL Server Docker container on Mac
我正在 Mac 上使用 Visual Studio 2017 開發 ASP.Net 核心 MVC 應用程序。 但是,我在連接到運行在 Docker 容器上的 SQL 服務器實例時遇到了一些問題。
這是我正在使用的連接字符串:
"ConnectionStrings": {
"myCustomConnString": "Server=localhost;Database=myDataBase;User Id=sa;Password=myPassw0rd;Trusted_Connection=True;MultipleActiveResultSets=true"
}
這是我得到的錯誤:
無法使用 Kerberos 進行身份驗證。 確保已使用“kinit”在客戶端上初始化 Kerberos,並且已為 SQL 服務器注冊服務主體名稱以允許 Kerberos 身份驗證。 ErrorCode=InternalError, Exception=Interop+NetSecurityNative+GssApiException:GSSAPI 操作因錯誤而失敗 - 請求了不受支持的機制(未知機制代碼 0 表示機制未知)。
使用 SQL Operation Studio、Azure Data Studio 和/或 Visual Studio Code 並傳遞相同的參數,我可以連接到 SQL 服務器的 docker 實例。 但在運行 ASP.Net 核心應用程序時不會。 所以,我不確定我是否缺少連接字符串的任何附加參數。
有人以前試過這個嗎?
問候!
我知道@MikePR 的評論是答案,但我想為我遇到的問題提供更完整的答案。 在使用帶有Trusted_Connection=false
的連接字符串后,我無法獲得dotnet ef database
命令來執行 evan 。 在本文的幫助下,我能夠使用此連接字符串:
"ConnectionStrings": {
"myCustomConnString": "Server=localhost,1433\\Catalog=myDatabase;Database=myDatabase;User=username;Password=MYSecurePWD;"
}
現在,我的遷移針對 docker 容器中的 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 來解決我的問題
下面的字符串對我有用。
Server=sql-server-db,1433;Database=EMP_DB_V2;User=SA;Password=Test_pwd@786;Trusted_Connection=False;MultipleActiveResultSets=True;
通過設置Trusted_Connection=False
解決了我的問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.