如何在Java应用中使用hdbuserstore密钥连接HANA数据库
如何使用hdbuserstore存储的凭据连接HANA数据库
前置准备
首先你需要提前在本地hdbuserstore中创建好凭据条目,执行如下命令创建:hdbuserstore set <自定义密钥名> <HANA主机地址>:<端口> <数据库用户名> <数据库密码>
示例:hdbuserstore set MYHANAKEY 192.168.1.100:30013 SYSTEM Manager@123
创建完成后可以执行hdbuserstore list确认条目正常存在。
JDBC连接实现方式
- 第一种:直接在URL中指定密钥名
连接URL格式为jdbc:sap:///key=<你的密钥名>,注意协议后是三个斜杠,不需要额外填写HANA地址、用户名、密码,这些信息会自动从hdbuserstore中读取。
示例代码:
java.sql.Connection conn = java.sql.DriverManager.getConnection("jdbc:sap:///key=MYHANAKEY");
- 第二种:通过Properties参数指定密钥名
你也可以把密钥名放在Properties参数中传入,示例代码:
java.util.Properties info = new java.util.Properties(); info.put("key", "MYHANAKEY"); java.sql.Connection conn = java.sql.DriverManager.getConnection("jdbc:sap://", info);
注意事项
- 请确保你使用的SAP HANA JDBC驱动版本≥2.4.64,低版本驱动不支持读取hdbuserstore凭据的功能
- hdbuserstore是用户级别的凭据存储,你用哪个操作系统用户创建的凭据条目,就必须用同一个用户运行Java程序,否则程序无法读取到对应的凭据
- 不需要在URL或Properties中额外传入用户名、密码、HANA地址、端口等信息,重复传入的信息会覆盖hdbuserstore中的配置
内容的提问来源于stack exchange,提问作者Tony
相关产品推荐
相关产品推荐

