import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import com.sap.db.jdbc.Driver;
public class HanaMultiTenantConnection {
public static void main(String[] args) {
// 数据库驱动类名
String driver = "com.sap.db.jdbc.Driver";
String connectionString = "jdbc:sap://host:port?reconnect=true";
String user = "账号";
String password = "密码";
try {
// 加载数据库驱动
Class.forName(driver);
// 建立连接
Connection connection = DriverManager.getConnection(connectionString, user, password);
// 操作数据库...
// 关闭连接
connection.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
连接字符串说明如下:
host: HANA服务器
port:端口号。端口号的第2~3位代码HANA数据的的实例号,第4~5位标识租户数据库。
- 如果indexserver端口号第4位是0,则此处jdbc连接端口为3XX15(XX为数据库实例),
- 如果indexserver端口号第4位大于等于4, 则此处jdbc连接端口则为indexserver端口号+1
reconnect及可选参数查看如下文档
如果通过databaseName参数指定租户,则端口号为3XX13(XX为数据库实例)
如果通过instanceNumber参数指定实例,和databaseName这个参数指定租户,则端口号则可以不用,例如 connectionString = "jdbc:sap://host/?instanceNumber=00&databaseName=tdb1"
2153

被折叠的 条评论
为什么被折叠?



