You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过C#和SqlClient连接SQL本地服务器(非数据库连接)问题

解决连接localhost\SQLEXPRESS服务器的问题

你遇到的System.Data.SqlClient.SqlException(TCP Provider错误25)是SQL Server实例连接的常见配置问题,我来一步步帮你排查和解决:

1. 先确认SQL Server Express服务正在运行

  • 按下Win + R,输入services.msc打开服务管理器
  • 在列表里找到SQL Server (SQLEXPRESS),检查它的状态是否为「正在运行」
    • 如果没运行,右键点击选择「启动」;要是启动失败,去服务属性里看日志找原因

2. 验证实例名称是否正确

有时候安装时实例名可能不是默认的SQLEXPRESS,或者你装的是默认实例(无命名实例):

  • 打开SQL Server Configuration Manager(开始菜单搜索就能找到)
  • 展开「SQL Server服务」,看服务名称:
    • 要是服务名是SQL Server (SQLEXPRESS),那实例名就是SQLEXPRESS,连接字符串里用localhost\SQLEXPRESS没问题
    • 要是服务名是SQL Server (MSSQLSERVER),这是默认实例,连接字符串只需要写localhost或者.(代表本地)就行,不用加实例名

3. 启用TCP/IP协议

错误提示里的TCP Provider, error: 25大多和TCP/IP协议未启用有关:

  • 在SQL Server Configuration Manager里,展开「SQL Server网络配置」→「Protocols for SQLEXPRESS」
  • 右键点击「TCP/IP」,选择「启用」
  • 右键「TCP/IP」→「属性」,切换到「IP地址」标签:
    • 拉到最下面的「IPAll」,确认「TCP端口」是1433(默认端口);如果是动态端口,记得启动SQL Server Browser服务(在服务管理器里找)

4. 使用正确的连接字符串

确认完配置后,用以下正确的连接字符串之一:

  • 命名实例(SQLEXPRESS)场景:
    var conn = new SqlConnection("Server=localhost\\SQLEXPRESS;Integrated Security=SSPI;Database=master;");
    
    或者用.代替localhost更简洁:
    var conn = new SqlConnection("Server=.\\SQLEXPRESS;Integrated Security=SSPI;Database=master;");
    
  • 默认实例场景:
    var conn = new SqlConnection("Server=.;Integrated Security=SSPI;Database=master;");
    

5. 用SSMS先验证连接

先脱离代码,用SQL Server Management Studio(SSMS)测试:

  • 打开SSMS,服务器名称输入localhost\SQLEXPRESS(或对应实例名),身份验证选「Windows身份验证」
  • 如果能连上,说明服务器配置没问题,回到代码里检查拼写(比如双反斜杠是否正确,你之前的写法是对的,但再确认下)
  • 如果SSMS也连不上,那肯定是服务器配置的问题,回到前面的步骤逐一排查

另外,Windows防火墙可能会阻止连接,可以临时关闭防火墙测试,要是能连上,记得在防火墙里添加SQL Server的端口例外(默认1433),或者允许SQL Server程序通过防火墙。


内容的提问来源于stack exchange,提问作者positive perspective

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 10:05:01