Go back to the English version of the documentation无法连接到Data Virtualization中的数据源
无法连接到Data Virtualization中的数据源
Last updated: 2024年11月26日
您配置了与 "Data Virtualization的数据源连接,但连接失败。
症状
尝试连接到数据源时,可能会迂到不同的错误消息。- 超时错误
- 配置数据源连接到Data Virtualization。 因此,您会收到类似于以下示例的超时错误。
[node_name], failed with The exception 'java.lang.Exception: Reached timeout 20000ms when doing early creation of connection for detail: com.ibm.jdbc.postgresql.PostgreSQLDriver'[host_name]6;databaseName=[database_name];EncryptionMethod=SSL;ValidateServerCertificate=false [ibm_cloud_user_ID]<pwd>' was thrown while evaluating an expression.;
- 证书格式错误
- 您为 "Data Virtualization添加了一个内置数据源,并上传了非 PEM 格式的 SSL 证书。 因此,您会收到以下错误。
Internal Server Error [node_name], failed with The exception 'java.lang.Exception: Input certificate did not contain any valid certificates, ensure certificate is provide using PEM format.' was thrown while evaluating an expression.;
原因
此问题可能有不同的原因,具体取决于问题的类型。- 超时参数值太小。
- 对于内置数据源,Data Virtualization仅支持 PEM 格式的 SSL 证书。
解决问题
要解决此问题,请选择下列其中一个选项。- 解决超时问题
- 请尝试重新连接到该数据源。 如果连接仍失败,可以增大超时。例如,要将超时增大到 40 秒,可以发出以下命令。
call DVSYS.SETCONFIGPROPERTY('GAIAN_CONNECTIONS_CHECKER_HEARTBEAT_MS','40000','',?,?);
您可以从作为Data Virtualization一部分的 SQL 编辑器或任何可以使用管理员用户角色连接到Data Virtualization外部 SQL 客户端发出此命令。
如果在多个工作程序节点上启用了查询处理并行性,那么在数据源上并行运行的查询数可能会增加,具体取决于工作负载。 在这种情况下,您可以运行以下命令来增加连接池的大小。call DVSYS.SETCONFIGPROPERTY('MAX_POOLSIZES','15','',?,?);
- 解决证书格式问题
- 确保证书采用 PEM 格式以进行上载。 要将证书转换为 PEM 格式,请使用以下命令。
openssl x509 -in mycert.crt -out mycert.pem -outform PEM