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

Spring Boot无法连接Informix Dynamic Server问题求助

解决Informix 14.10与Spring Boot JPA连接失败的问题

问题背景

本地Windows 7 SP1系统安装Informix 14.10,开发Spring Boot JPA+Hibernate应用时出现连接错误:

Socket connection to server (ol_informix1410@localhost:9088) failed. Check your server is reachable from this client on the host:port specified.

application.yml配置如下:

spring:
  datasource:
    url: jdbc:informix-sqli://localhost:9088/sigba:INFORMIXSERVER=ol_informix1410
    driver-class-name: com.informix.jdbc.IfxDriver
    username: ${dbusername}
    password: ${dbpassword}
  jpa:
    databasePlatform: org.hibernate.dialect.InformixDialect
    showSql: true
    generateDdl: true
    hibernate:
      ddlAuto: update

已确认:

  • 端口为安装时设置的正确端口
  • 使用dbaccess可正常访问数据库
  • DBeaver 23及telnet连接对应IP和端口均失败

排查与解决步骤

1. 验证Informix实际监听端口

dbaccess能正常访问说明服务运行正常,但可能监听端口与配置不符:

  • 打开命令提示符,进入Informix安装目录的bin文件夹(如C:\Informix\bin),执行命令:
    onstat -g ntt
    
  • 查看输出中的Listen条目,确认是否有9088端口的监听记录。如果没有,需要修改sqlhosts文件:
    • 打开C:\Informix\etc\sqlhosts文件,确保存在如下格式的条目:
      ol_informix1410 onsoctcp localhost 9088
      
    • 修改后重启Informix服务:在Windows服务列表中找到IBM Informix Dynamic Server ol_informix1410,右键选择重启;或者在命令行执行:
      onmode -ky
      oninit
      

2. 检查Windows防火墙拦截

Windows 7防火墙可能默认阻止了9088端口的入站连接:

  • 打开「控制面板」→「Windows防火墙」→「高级设置」→「入站规则」
  • 点击「新建规则」,选择「端口」→「TCP」,填入特定本地端口9088
  • 选择「允许连接」,按需勾选域、专用、公网选项,完成规则创建

3. 调整JDBC URL格式

部分Informix JDBC驱动对URL参数分隔符敏感,尝试将冒号改为分号:

spring:
  datasource:
    url: jdbc:informix-sqli://localhost:9088/sigba;INFORMIXSERVER=ol_informix1410

4. 确认JDBC驱动版本兼容性

确保使用的Informix JDBC驱动与14.10版本兼容:

  • 替换项目中旧的驱动包,使用对应版本的ifxjdbc.jar
  • 若使用Maven管理依赖,手动指定兼容版本:
    <dependency>
        <groupId>com.informix</groupId>
        <artifactId>jdbc</artifactId>
        <version>4.50.10</version> <!-- 适配Informix 14.10的稳定版本 -->
    </dependency>
    

5. 替换localhost为本地IP地址

若localhost解析异常,尝试使用本地IPv4地址(如192.168.1.100):

  • 修改application.yml中的URL:
    url: jdbc:informix-sqli://192.168.1.100:9088/sigba;INFORMIXSERVER=ol_informix1410
    
  • 同步修改sqlhosts文件中的主机地址,再测试telnet连接:
    telnet 192.168.1.100 9088
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 11:35:26