问题
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
来源:https://stackoverflow.com/questions/40491386/sql-server-instance-string-connection-in-linux-docker