32

I am developing an ASP.Net core MVC application using Visual Studio 2017 on Mac. However, I am facing some problems to connect to an instance of SQL Server that is running on a Docker container.

This is the connection string I'm using:

"ConnectionStrings": {
    "myCustomConnString": "Server=localhost;Database=myDataBase;User Id=sa;Password=myPassw0rd;Trusted_Connection=True;MultipleActiveResultSets=true"
  }

And this is the error I am getting:

Cannot authenticate using Kerberos. Ensure Kerberos has been initialized on the client with 'kinit' and a Service Principal Name has been registered for the SQL Server to allow Kerberos authentication. ErrorCode=InternalError, Exception=Interop+NetSecurityNative+GssApiException: GSSAPI operation failed with error - An unsupported mechanism was requested (unknown mech-code 0 for mech unknown).

Using SQL Operation Studio, Azure Data Studio and/ or Visual Studio Code and passing the same parameters I can connect to the docker instance of SQL Server. But not when running the ASP.Net core app. So, I'm not sure if I am missing any additional parameter for the connection string.

Does anyone have try this before?

Regards!

2
  • 14
    Found how to connect to the Docker instance of SQL Server. I had to set up the Trusted_Connection=false. After that I was able to connect when running my ASP.Net core app. Commented Oct 29, 2018 at 17:10
  • Thanks! I wasted so much time on this one and that fixed it! Commented Jan 4, 2019 at 6:58

8 Answers 8

41

I know that @MikePR 's comment serves as the answer, but I wanted to provide a more complete answer for the issue I had. I could not get dotnet ef database commands to execute evan after using the connection string with Trusted_Connection=false. With the help of this article, I was able to use this connection string:

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

Now, my migrations run against the SQL Server in the docker container. Note that the article did not include using Trusted_Connection=false. I assume that false is the default.

Sign up to request clarification or add additional context in comments.

Comments

16

I got the same issue, and it works simply by deleting Trusted_Connection=True; from the connection string

Comments

6

Solved mine by setting Trusted_Connection=False

Comments

4

I ran the connection string as follows and it worked

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

Comments

4

I was able to solve mine by removing Trusted_Connection

Comments

2

I ran the connection string as follows and it worked

"ConnectionStrings": {
    "DefaultConnection": "Server=localhost,1433; Database=ERPDb; User=sa; Password =*****; Trusted_Connection=false; TrustServerCertificate=true;"
  },

Comments

1

Below string worked for me.

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

1 Comment

Your answer could be improved with additional supporting information. Please edit to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center.
0

I solved mine by removing Integrated Security=true;.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.