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

本文关键字:sql 服务器 崩溃 实例 连接 Mono | 更新日期: 2023-09-27 18:27:21

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

这是我的代码:

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");
}

Crash

Mono不支持用于连接SQL Server的名称管道或共享内存。请启用TCP/IP协议。

更糟糕的是,我可以连接到我的其他实例。唯一更改的是实例名称。

我使用的是Xamarin.iOS 9.4.0.0,Xamarin Studio 5.10.1,Mono Framework MDK 4.2.1.102

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

在SQL server中,启用的协议是根据每个实例配置的,因此最有可能的解释是,您试图连接到的命名实例没有启用TCP/IP协议。

您可以通过打开Sql Server Configuration Manager工具并转到Sql Server Network Configuration->Protocols for{instance name}进行检查。请确保TCP/IP协议已启用。