无法通过 .NET 应用程序使用命名管道连接到 SQL Server

问题描述 投票:0回答:1

首先,我试图完成这项工作,因为我的 Windows 窗体应用程序(从 Windows 10 运行)到我的 Microsoft SQL Server 2012 VM 的“初始连接”花费的时间太长(一旦连接一切正常)。我读到,通过强制/使用命名管道而不是 TCP/IP,应该会对上述内容有相当大的改进。

话虽这么说,我已经阅读了“很多”,是的,我发现了类似的帖子,并且具有相同的常规错误:“找不到服务器或无法访问服务器......命名管道提供程序,错误:40 - 无法打开到 SQL Server 的连接”,我不知道如何使用 NP 协议连接到 SQL。我尝试直接通过应用程序连接字符串(Server=np:MyServer 或 np:\MyServer\pipe\sql\query 或 \MyServer\pipe\MSSQL$MSSQLSERVER\sql\query 或 ;Network Library=dbnmpntw)强制它,而无需成功了。

备注:

  1. Windows 10 客户端和 Windows 2012 服务器均未启用防火墙。
  2. SQL 服务器上只有一个实例(默认 MSSQLServer)。
  3. 已在 SQL 配置管理器中为 SQL 实例启用共享内存、命名管道、TCP/IP 协议。
  4. 命名管道正在使用其默认值(未定义别名)。
  5. 当然我已经重启了SQL Server服务,甚至重启了服务器。

此时为了测试/复制问题,如果有人愿意帮助这个即将开枪自杀的人,我正在使用 Visual Studio - 视图 - 服务器资源管理器 - 数据连接 - 添加连接 - 数据提供程序 .NET Framework 数据提供程序对于 SQL Server,测试与 SQL Server 的正确/成功连接(使用 TCP/IP),然后转到“高级”并将“网络库”调整为“命名管道”(见下文)。再次测试连接按钮,如果您知道如何获得成功的结果,请告诉我如何做! (新连接属性中的连接字符串应该可以解决问题)

Visual Studio - Test new SQL Connection with Named Pipes

提前感谢您的宝贵时间,

M.

sql-server vb.net visual-studio connection-string named-pipes
1个回答
0
投票

命名管道不会更快。在现代 Windows 中,它通过 TCP/IP 运行以进行远程连接。

© www.soinside.com 2019 - 2024. All rights reserved.