当前位置: 首页 > news >正文

Caused by:com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 > 连接到主机 localhost 的 TCP/IP 连接失败


在使用SQLServer数据库运行项目程序的时候,报错

Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433
连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connection refused:
connect。请验证连接属性。确保 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)

根据以往使用数据库的经验,首先排查防火墙中是否拦截了1433端口,但是1433端口已经打开,并且在防火墙关闭的情况下,仍然存在上述报错,后面通过下面方式解决

一:首先检查一下下面的三个内容

1.确认 SQL Server 实例是否真的在监听 1433 端口

以管理员身份打开命令行窗口,执行下面的命令

# 查看所有监听的 TCP 端口netstat-ano|findstr"LISTENING"|findstr"1433"

正常的执行情况为

执行之后,窗口显示下面内容,说明没有在监听

直接重新配置TCP/IP 协议

2.确认 SQL Server 服务是否为「默认实例」

打开服务(Win+R → services.msc):
若服务名是SQL Server (MSSQLSERVER)→ 是默认实例,应监听 1433 端口;

若服务名是SQL Server (SQLEXPRESS)/SQL Server (自定义实例名)→ 是命名实例,默认不监听 1433 端口

直接改连接字符串为

// 命名实例写法(无需端口) jdbc:sqlserver://localhost\SQLEXPRESS;databaseName=你的库名;encrypt=false;trustServerCertificate=true

3.临时关闭防火墙验证(排除拦截)

打开「Windows Defender 防火墙」→ 「启用或关闭 Windows Defender 防火墙」→ 临时关闭「专用网络」「公用网络」的防火墙;

重新运行程序,若能连接 → 说明是防火墙拦截,需按之前步骤放行 1433 端口(或命名实例的动态端口);
若仍不能连接 → 排除防火墙问题,聚焦 SQL Server 配置。

二:针对「默认实例 1433 端口未监听」的修复步骤

1. 重启 SQL Server 服务(先简单试)

右键「SQL Server (MSSQLSERVER)」→ 「停止」→ 等待 10 秒 → 「启动」;
重启后再次执行下面的命令,看是否监听。

netstat-ano|findstr1433

2. 重新配置 TCP/IP 协议(关键)

打开SQL Server 配置管理器(Win+R → SQLServerManager15.msc,版本对应:2019=15、2017=14)或者直接搜索SQL Server 配置管理器即可;

展开SQL Server 网络配置→ 点击MSSQLSERVER 的协议

右键TCP/IP启用(灰色则已启用);

双击TCP/IP→ 切换到IP 地址标签页:

找到IP1 IP2… IPAll,依次检查:

所有已启用列设为

IPAll下:TCP 端口填 1433,TCP 动态端口清空;

点击确定→ 会提示需重启服务生效,再次重启SQL Server (MSSQLSERVER)

重启后执行netstat -ano | findstr 1433,确认有LISTENING状态。

三: JFinal 框架专属配置检查

1. 连接字符串必须加 2 个参数(高版本 SQL Server 必加)

java运行

// 正确的连接字符串模板(默认实例)StringjdbcUrl="jdbc:sqlserver://localhost:1433;databaseName=你的库名;encrypt=false;trustServerCertificate=true";// 命名实例模板StringjdbcUrl="jdbc:sqlserver://localhost\SQLEXPRESS;databaseName=你的库名;encrypt=false;trustServerCertificate=true";encrypt=false:关闭 SSL 加密(本地测试用,生产可按需开启); trustServerCertificate=true:跳过证书验证(避免「SSL 握手失败」)

2. 确认 JFinal 数据源配置未写错

java运行

// 初始化 Druid 数据源(JFinal 常用)DruidPlugindruidPlugin=newDruidPlugin(jdbcUrl,// 上面的连接字符串"sa",// 数据库账号(确认已启用)"你的密码",// 确认密码正确"com.microsoft.sqlserver.jdbc.SQLServerDriver"// 驱动类不要写错);// 启动数据源 + ActiveRecorddruidPlugin.start();ActiveRecordPluginarp=newActiveRecordPlugin(druidPlugin);arp.start();// 报错发生在这一步,说明数据源连不上

3. 验证账号密码是否正确

打开 SSMS → 用SQL Server 身份验证→ 输入 sa + 密码 → 看能否连接本地实例;
若不能连接:右键sa属性→ 取消登录已禁用→ 重置密码 → 重启 SQL Server 服务。

四、终极兜底方案(以上都无效时)

1. 检查 SQL Server 是否安装损坏

控制面板 → 卸载程序 → 找到Microsoft SQL Server→ 选择修复
修复完成后,重新配置 TCP/IP 协议 + 重启服务。

2. 更换连接地址(localhost → 127.0.0.1)

部分环境下 localhost 解析异常,替换连接字符串为:

java运行

jdbc:sqlserver://127.0.0.1:1433;databaseName=你的库名;encrypt=false;trustServerCertificate=true

3. 查看 SQL Server 错误日志

打开 SSMS → 连接实例(若能连)→ 展开管理SQL Server 日志→ 查看最近的错误,会提示为何 1433 端口未监听(如权限不足、配置错误);
若连不上 SSMS,日志文件默认路径:C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Log\ERRORLOG

欢迎大家点赞,评论,加关注呦

http://www.jsqmd.com/news/89808/

相关文章:

  • 告别原生下拉框:Layui formSelects多选插件让表单交互更优雅
  • 百度网盘下载困境的破局之道
  • OpenCore Legacy Patcher终极指南:让老Mac重获新生
  • 基于PLC控制的称重式快递分拣系统设计
  • eSpeak NG文本转语音终极指南:从入门到精通
  • 企业级Windows日志监控平台搭建:Visual Syslog Server深度解析
  • UKB_RAP生物医学数据分析平台实战指南
  • 基于 PLC控制机械手臂取放料的系统设计
  • 5分钟解锁百度网盘极速下载:直链解析全流程实战
  • 视频超分辨率神器:大文件分段处理实战指南
  • 突破百度网盘限速的技术解决方案矩阵
  • 3步搞定Formily集成第三方UI库:从困惑到精通
  • 百度网盘下载加速终极指南:免费突破限速完整方案
  • 高效无损视频剪辑:5分钟掌握零损耗专业处理技巧
  • Umi-OCR多引擎适配实战:如何为不同场景选择最优识别方案
  • 魔盒项目开发纪实:主板方案设计与人体感应模块选型
  • Formily终极指南:5步搞定第三方UI库无缝集成
  • OpenWRT插件中心iStore:5分钟快速上手终极指南
  • 英雄联盟云顶之弈智能助手:全自动刷经验终极指南
  • 3步精通Jimp图像处理:游戏精灵图批量生成终极指南
  • 3步搭建个人专属图像搜索引擎:本地部署零基础教程
  • PIO = Program Input/Output(程序输入输出)
  • Nugget终极指南:极速下载的完整解决方案
  • Point-E项目3D点云预处理技术:从入门到精通的完整指南
  • GPT-SoVITS语音合成终极指南:从零开始掌握AI语音克隆技术
  • B站Linux客户端震撼来袭!打破次元壁的桌面观影神器
  • Screenbox媒体播放器完整使用指南:Windows平台的终极视频解决方案
  • OpenRPA免费企业级RPA工具:零代码配置与跨平台部署完整指南
  • 周五 6 日
  • 终极指南:如何用stl-thumb快速预览3D模型文件