我正在尝试使用JMeter 5.4.1连接到Informix数据库(仅支持启用TLS的连接)。
我得到的错误如下:无法创建PoolableConnectionFactory(套接字连接到服务器(DB_NAME@HOST:PORT)失败。检查您的服务器是否可以从这个客户端访问:指定的端口。)
能够使用Server Studio连接到同一个DB。只有当我从Jmeter连接时才会出现这个问题。
到目前为止做了什么-
- 已下载JDBC驱动程序并放置在%JMETER_HOME%/lib文件夹
- 定义的JDBC连接配置如下-jdbc: informix-sqli://DB_HOST_IP:端口/DB_NAME: INFORMIXSERVER = DB_SERVER_NAME; sslConnection = true
- 更新了系统中的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()