本地ODBC Driver 11连接SQL Server 2014提示主动拒绝连接如何解决
连接失败原因及解决方案
你遇到的「目标机器主动拒绝连接」报错,结合你的环境配置,按优先级排查以下问题:
- SQL Server Express默认未开启TCP/IP协议、且未监听1433端口
打开SQL Server配置管理器,依次进入「SQL Server网络配置」→「SQLEXPRESS的协议」,右键启用TCP/IP协议。再进入TCP/IP属性的「IP地址」标签页,拉到最底部的「IPAll」配置项,清空TCP动态端口的内容,在TCP端口栏填写1433,保存配置后重启SQL Server(SQLEXPRESS)服务。 - 连接字符串配置冲突
你当前的连接字符串里同时写了实例名SQLEXPRESS和端口1433,逻辑上存在冲突:指定实例名的场景依赖SQL Server Browser服务查询对应实例的端口,指定端口的场景不需要携带实例名。可以二选一修改:- 保留实例名:改为
SERVER=BLACK4-PC\\SQLEXPRESS,同时在服务列表里启动SQL Server Browser服务 - 保留端口:改为
SERVER=BLACK4-PC,1433或者SERVER=localhost,1433
- 保留实例名:改为
- 确认SQL Server服务状态
打开系统服务列表(运行输入services.msc),确认SQL Server(SQLEXPRESS)服务处于正在运行状态。 - 确认ODBC驱动架构匹配
如果你编译的是32位C++程序,需要安装32位版本的ODBC Driver 11 for SQL Server;64位程序对应安装64位驱动,可在控制面板的ODBC数据源管理器中查看已安装的驱动列表。
改完配置后可以先用SSMS尝试连接对应地址,确认连通性正常后再运行代码,能提升排查效率。
内容的提问来源于stack exchange,提问作者black4joss
相关产品推荐
相关产品推荐

