
做 Java 应用连接 SAP HANA Cloud 时,真正容易卡住的地方通常不是DriverManager,也不是写一条SELECT语句,而是连接建立之前那一整套看不见的过程。应用拿到了 SAP HANA Cloud 的 SQL Endpoint,端口也确认是443,数据库用户和密码都没有问题,程序里也已经放进了ngdbc.jar。结果运行起来仍然可能出现连接超时、TLS 握手失败、证书不受信任,甚至直接收到No trusted certificate found -813。这类问题之所以让人容易误判,是因为 JDBC 连接 SAP HANA Cloud 已经不是过去局域网里 Java 应用连接本地 SAP HANA 那么简单了。连接路径里同时存在网络访问控制、DNS、TCP、TLS、证书信任链、SAP HANA JDBC Driver、数据库认证和数据库权限。任何一层出问题,最终在 Java 应用眼里往往都只是一次 JDBC 连接失败。SAP 官方对这件事给出的最低技术门槛很明确。安全连接 SAP HANA Cloud 至少需要 SAP HANA JDBC Driver2.4.67,同时至少需要 Java VM 8。2.4.67版本的 JDBC Driver 包含在 SAP HANA Client2.4.167及更高版本中。更关键的一句话是,JDBC 使用的是 Java VM 自身提供的 TLS 实现,并不是 SAP HANA Client 中其他接口所采用的 TLS 实现。