连接到具有特定实例名称的 sql 服务器时 Mono 崩溃

Mono crashes while connecting to a sql server with a certain instance name

我在我的计算机上创建了一个名为 'abcd' 的 sql 服务器实例,但是当我尝试连接到它时,我收到一个奇怪的错误。我可以使用相同的代码连接到我的其他实例。实例名称是否导致此错误?

这是我的代码:

string connectionString = "Server=192.168.1.185\abcd;" + "Database=test;" + "User ID=sa;" + "Password=bob;";

IDbConnection dbcon;
using (dbcon = new SqlConnection(connectionString))
{
    dbcon.Open(); // <-- crashes here
    Console.WriteLine("Connected");
}

崩溃

Mono does not support names pipes or shared memory for connecting to SQL Server. Please enable the TCP/IP protocol.

奇怪的是我能够连接到我的其他实例。唯一改变的是实例名称。

我正在使用 Xamarin.iOS 9.4.0.0、Xamarin Studio 5.10.1、Mono Framework MDK 4.2.1.102

在 SQL 服务器中,启用的协议是基于每个实例配置的,因此最可能的解释是您尝试连接的命名实例没有 TCP/IP 协议已启用。

您可以通过打开 Sql 服务器配置管理器工具并转到 SQL 服务器网络配置 -> {实例名称} 的协议来检查这一点.确保 TCP/IP 协议已启用。