由于无法创建PoolableConnectionFactory错误,无法从JMeter连接到启用TLS的Informix



我正在尝试使用JMeter 5.4.1连接到Informix数据库(仅支持启用TLS的连接)。

我得到的错误如下:无法创建PoolableConnectionFactory(套接字连接到服务器(DB_NAME@HOST:PORT)失败。检查您的服务器是否可以从这个客户端访问:指定的端口。)

能够使用Server Studio连接到同一个DB。只有当我从Jmeter连接时才会出现这个问题。

到目前为止做了什么-

  1. 已下载JDBC驱动程序并放置在%JMETER_HOME%/lib文件夹
  2. 定义的JDBC连接配置如下-jdbc: informix-sqli://DB_HOST_IP:端口/DB_NAME: INFORMIXSERVER = DB_SERVER_NAME; sslConnection = true
  3. 更新了系统中的SSL配置属性。属性文件启用SSL

只是确认我能够从接受非tls连接的Jmeter连接到另一个Informix DB。但是,JMeter无法连接基于TLS的Informix DB。

如果您遇到类似的问题,请帮助。

谢谢。

SSLCONNECTION参数可能是区分大小写的,根据连接使用SSL的JDBC应用程序的文章,它应该是这样的:

jdbc:informix-sqli:localhost:9089/mydatabase:SSLCONNECTION=true 

您还可以在URL中指定信任库位置和密码:

jdbc:informix-sqli:localhost:9089/mydatabase:SSLCONNECTION=true;SSL_TRUSTSTORE=/opt/ids/.keystore;SSL_TRUSTSTORE_PASSWORD=password

如果以上步骤不起作用,您应该仍然能够使用JSR223测试元素和Groovy语言建立连接

示例代码:

System.setProperty('javax.net.ssl.trustStore', '/opt/ids/.keystore')
System.setProperty('javax.net.ssl.trustStorePassword', 'password')
def cds = new com.informix.jdbcx.IfxConnectionPoolDataSource()
cds.setIfxIFXHOST('localhost',)
cds.setServerName('informix_server')
cds.setPortNumber(9089)
cds.setIfxSSLCONNECTION('true')
cds.setUser('informix')
cds.setPassword('password')
cds.setDatabaseName('stores_demo')

conn = cds.getPooledConnection().getConnection()

最新更新