SQL Server instance string connection in Linux Doc

2019-07-24 20:41发布

问题:

I'm publishing an application to docker image microsoft/dotnet:1.0.1-core that reference Sql Server instance in connection string:

"Data Source=host\instance;Initial Catalog=database;User ID=user;Password=pass;"

In Windows environment it work's as well, but using docker, the application cannot connect to the database. Changing the Data Source to use port instead of instance it works.

"Data Source=host,port;Initial Catalog=database;User ID=user;Password=pass;"

How can I connect, from docker, to Sql Server using instance instead port?

回答1:

According to Saurabh Singh from Microsoft:

The Instance name support is available in v 1.1 of .Net Core. In v1.0 of .Net Core, Instance names are not supported on OS other than Windows.

So I don't think you can connect from .Net Core 1.0 running on Linux to an SQL Server using instance name.

Your choices seem to be:

  • don't use instance name
  • wait for .Net Core 1.1 (planned for "Fall 2016")
  • use pre-release version of .Net Core 1.1