如何阻止DBeaver JDBC Informix连接自动追加客户端IP到用户名
解决Informix JDBC连接时用户名自动追加客户端IP的问题
你遇到的问题是Informix JDBC驱动的默认行为导致的:它会自动把客户端IP追加到用户名后(格式如testuser@xxx.xx.xx.xx),但数据库里只存了纯用户名,所以认证失败。ODBC驱动默认不开启这个行为,所以能正常连接。
下面是具体的禁用方法:
方法1:通过DBeaver驱动属性设置
- 打开DBeaver的Informix连接编辑页,切换到「驱动属性」标签
- 找到
IFX_HOSTNAME_IN_USERNAME参数,把值改成false - 保存后重新测试连接即可
方法2:修改JDBC URL参数
如果驱动属性里找不到选项,直接在JDBC URL末尾加参数:
jdbc:informix-sqli://<你的主机>:<端口>/<数据库名>:IFX_HOSTNAME_IN_USERNAME=false;
方法3:服务器端配置调整(备选)
如果没法改客户端设置,可以在Informix服务器的sqlhosts文件里,把对应连接条目的认证方式改成不要求带IP的格式。但这种方式会影响所有用这个连接条目的客户端,优先用前两种客户端端的方法。
设置完成后,JDBC驱动会用纯用户名(比如testuser)去认证,和ODBC行为一致,就能正常连接了。
内容的提问来源于stack exchange,提问作者Jeff A
相关产品推荐
相关产品推荐

