我正在发布一个应用程序到docker镜像microsoft/dotnet:1.0.1-core
,在连接字符串中引用Sql Server实例:
"Data Source=hostinstance;Initial Catalog=database;User ID=user;Password=pass;"
在Windows环境下它也可以工作,但是使用docker,应用程序不能连接到数据库。将Data Source
改为port
,而不是instance
,它可以工作。
"Data Source=host,port;Initial Catalog=database;User ID=user;Password=pass;"
我如何连接,从docker,到Sql Server使用实例而不是端口?
根据微软的Saurabh Singh:
实例名支持在。net Core的v1.1中可用。在。net Core的v1.0中,除Windows之外的操作系统不支持实例名。
所以我不认为你可以从运行在Linux上的。net Core 1.0连接到使用实例名的SQL Server。
你的选择似乎是:
- 不要使用实例名
- 等待。net Core 1.1(计划在"2016秋季"发布)
- 使用预发布版本的。net Core 1.1