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

使用Apache JMeter(Java 22)连接SQL Server 2012数据库遇连接异常

解决JMeter连接SQL Server 2012的TCP/IP连接异常

核心问题定位

从异常信息看,连接字符串格式存在明显错误:192.168.0.107,1434的写法混淆了SQL Server的实例端口与主机地址,同时又指定端口1433,导致连接逻辑冲突。

分步解决方案

1. 修正连接字符串格式

SQL Server JDBC连接字符串有两种标准写法,二选一即可:

  • 默认实例(端口1433):
    jdbc:sqlserver://192.168.0.107:1433;databaseName=你的数据库名;encrypt=false;trustServerCertificate=true
    
  • 命名实例(指定端口):
    先确认实例的TCP端口(见步骤2),再用格式:
    jdbc:sqlserver://192.168.0.107:实际端口号;databaseName=你的数据库名;encrypt=false;trustServerCertificate=true
    
    或用实例名写法:
    jdbc:sqlserver://192.168.0.107\实例名;databaseName=你的数据库名;encrypt=false;trustServerCertificate=true
    
    注意:不要同时在主机后加逗号端口又单独指定port参数,避免重复冲突。

2. 确认SQL Server的TCP/IP配置

  • 打开SQL Server配置管理器,展开SQL Server网络配置,找到目标实例对应的TCP/IP协议,确保状态为已启用。
  • 双击TCP/IP切换到IP地址标签:
    • 找到对应192.168.0.107的IP条目,设置已启用为是,记录TCP端口的值(默认实例为1433,命名实例可能是动态端口,建议改为固定端口方便连接)。
    • 拉到最底部,设置IPAll的TCP端口为上述记录的端口号,重启SQL Server服务。

3. 验证网络连通性

在JMeter所在机器上,用以下命令测试端口是否可达:

  • Windows命令提示符:
    telnet 192.168.0.107 你的端口号
    
  • PowerShell:
    Test-NetConnection 192.168.0.107 -Port 你的端口号
    

如果连接失败,检查数据库服务器防火墙是否开放对应端口,或网络路由是否正常。

4. 适配Java版本与JDBC驱动

Java 22版本较新,与老旧的SQL Server 2012兼容性有限:

  • 建议降级Java版本到Java 17(LTS版本,兼容性更稳定),或使用最新版的Microsoft JDBC Driver for SQL Server(至少8.4以上版本,尝试适配Java 22)。
  • 将下载的JDBC驱动包(如mssql-jdbc-12.4.2.jre11.jar)放到JMeter安装目录的lib文件夹下,重启JMeter。

5. 简化连接参数

去掉不必要的sslProtocol=TLSv1.2参数,SQL Server 2012对TLS 1.2的支持需要额外配置,直接关闭加密更稳妥:

;encrypt=false;trustServerCertificate=true

内容的提问来源于stack exchange,提问作者Nilesh Patil

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 07:22:40