JAVA代码访问SAP HANA

  • 1、准备一个hana视图
  • 2、java访问hana
  • 3、测试运行
  • 4、数据查询
  • 5、说明


1、准备一个hana视图

-- 创建视图
create view cfdata.v_test
as
select current_date from dummy;
-- 添加注释
comment on view cfdata.v_test is '测试视图';						-- 视图注释
comment on column cfdata.v_test."CURRENT_DATE" is '当前日期';	-- 字段注释

2、java访问hana

2.1、创建JAVA项目HelloJava,添加对ngdbc.jar的引用,如下图

java连接hive数据库 java连接hana数据库_sql


2.2、添加一个java类,包含main方法,HelloHANA.java

package com.zll.test;

import java.sql.*;

public class HelloHANA {
	
	public static String connectionString = "jdbc:sap://1xx.1xx.x.2xx:300xx?reconnect=true";
    public static String user = "username";
    public static String password = "password";

	public static void main(String[] args) {
		
		Connection connection = null;
		
        try {
            connection = DriverManager.getConnection(connectionString, user, password);
        } catch (SQLException e) {
            System.err.println("Connection Failed. User/Passwd Error? Message: " + e.getMessage());
            return;
        }
        
        if (connection != null) {
            try {
                System.out.println("Connection to HANA successful!");
                Statement stmt = connection.createStatement();
                ResultSet resultSet = stmt.executeQuery("select * from cfdata.v_test;");
                while(resultSet.next()) {
                    String curdate = resultSet.getString(1);
                    System.out.println(curdate);
                }
            } catch (SQLException e) {
                System.err.println("Query failed!");
            }
        }
	}
}

3、测试运行

Connection to HANA successful!
2021-06-29

访问成功,获取计算结果。

4、数据查询

本小节仅供CF项目对接参考使用,由于内部开发方式以及授权方式的设定,登录账号所在schema内容为空,所有数据存放在cfdata所在的schema下,如下图

java连接hive数据库 java连接hana数据库_System_02


1、查询时,务必加上schema前缀:

select * from cfdata.v_test;

执行结果如下:

java连接hive数据库 java连接hana数据库_sql_03


2、查看 表/视图 元数据,双击对象,可查看元数据信息,包括每个字段描述:

java连接hive数据库 java连接hana数据库_java_04