如何使用存储在hdbuserstore中的凭据连接到HANA DB ?
在SAP文档中,为了使用jdbc驱动程序连接,提到了3种方法:
-
java.sql.DriverManager.getConnection(url, user, password)
,
java.sql.Connection conn = java.sql.DriverManager.getConnection ("jdbc:sap://localhost/?instanceNumber=00&databaseName=tdb1", "SYSTEM", "manager");
-
java.sql.DriverManager.getConnection(url)
,
java.sql.Connection conn = java.sql.DriverManager.getConnection ("jdbc:sap://localhost:30013/?databaseName=tdb1&user=SYSTEM&password=manager");
-
java.sql.DriverManager.getConnection(url, properties)
,
java.util.Properties info = new java.util.Properties(); info.put("databaseName", "tdb1"); info.put("user", "SYSTEM"); info.put("password", "manager"); java.sql.Connection conn = java.sql.DriverManager.getConnection("jdbc:sap://localhost:30013", info);
我不知道如何使用hdbuserstore键与这个驱动程序连接到HANA DB。请建议。
您可以使用key
(它为hdbuserstore指定键)JDBC属性。
说你的hdbuserstore条目是:
hdbuserstore SET JOHN_DOE "127.0.0.1:35001@DB" dbUserName dbPassword
您可以使用:
import java.sql.*;
import com.sap.db.jdbc.Driver;
public class Demo {
public static void main(String[] argv) {
Connection connection = null;
try {
java.util.Properties info = new java.util.Properties();
// key mentioned in hdbuserstore
info.put("key", "JOHN_DOE");
connection = java.sql.DriverManager.getConnection("jdbc:sap://127.0.0.1:35001", info);
}
catch (SQLException e) {
System.err.println(e);
return;
}
if (connection != null) {
// .... whatever
}
}
}
查看SAP JDBC属性列表。