很多团队第一次真正把应用程序接到 SAP HANA Cloud 时,会发现一个挺有意思的现象。
数据库已经创建好了,SAP HANA Cloud Central 里面显示 Running,SQL Endpoint 也能看到,数据库用户和密码也准备好了,看起来似乎只差一条 JDBC URL。可真正开始连接以后,问题会一层一层冒出来。
本地 Java 程序报 TLS 错误,ODBC 配置看起来没有问题却始终连不上,开发机器可以访问,部署到服务器以后超时,连接池运行几个小时后出现失效连接,BI 工具偶尔报 connection reset,甚至还有团队看到数据库拥有几十个 vCPU,就干脆把应用服务器连接池开到几千。
这些现象放在一起,其实都指向同一个问题。
连接 SAP HANA Cloud,并不是简单地知道一个 Host 和 Port,再塞入用户名密码就结束了。我们面对的是一条跨越客户端驱动、TLS、DNS、企业防火墙、IP Allowlist、TCP 长连接、数据库 Session、连接池以及高可用节点的完整链路。
SAP 官方目前仍然把 SAP HANA Client 作为访问 SAP HANA Cloud 数据库的重要客户端基础。Linux 可以安装 SAP HANA Client,通过 JDBC 和 ODBC 访问 SAP HANA Cloud。与此同时,SAP HANA Client 也支持 UNIX、macOS 和 Microsoft Windows。当前客户端体系已经覆盖 ODBC、JDBC、Python、Node.js、Go、Ruby、SQLDBC 等多种接口,Windows 平台还提供 Microsoft ADO.NET 等接口。
这件事非常重要,因为 SA