`
JerryWang_SAP
  • 浏览: 1030487 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

使用JDBC操作SAP云平台上的HANA数据库

阅读更多

本文假设您对JDBC(Java Database Connectivity)有最基本的了解。您也可以将其同ADBC(ABAP Database Connectivity)做对比,细节请参考我的博客ADBC and JDBC

这篇文章分为两部分,第一部分内容:

  1. 介绍如何在SAP Cloud Platform(云平台)上创建一个HANA数据库实例
  2. 开发一个Java应用,部署到SAP云平台上。该Java应用使用JDBC操作同样处于SAP云平台上的HANA数据库。

第二部分内容:

开发一个Java应用,部署在位于Corporate Network的On-Premise系统里。该Java应用通过Cloud Connector访问位于SAP云平台上的HANA实例。我的前一篇公众号文章 使用Java+SAP云平台+SAP Cloud Connector调用ABAP On-Premise系统里的函数 介绍了部署在Internet Network上的应用如何访问Corporate Network内的On-Premise系统上的服务,而本文将要介绍的场景则反其道而行之:部署在On-Premise上的Java应用访问Internet Network上的SAP云平台的HANA数据库。

本文介绍的Java应用的全部源代码在我的github上:

创建SAP云平台上的HANA数据库实例

  1. 登陆SAP云平台Cockpit,创建一个新的HANA数据库实例:


     

设置数据库ID和System user的密码。这里我设置的数据库ID为hana01, 后面会使用到。

 

创建成功后,数据库实例状态变为STARTED,可以把其Development Tools的链接加到收藏夹里,后面也会用到。

 

 

 

至此这个位于SAP云平台上的HANA数据库实例已经可用了。下一步就是开发Java程序通过JDBC访问它。

使用JDBC访问HANA数据库

将我github上的Java应用import到Eclipse,如下图所示:

应用主要分三个文件:

 
  • Person.java
    定义了Person模型,只包含id,firstName和lastName三个成员,以及对应的getter和setter方法,即所谓的POJO(Plain Old Java Object )。POJO这个名字用来强调它是一个普通Java对象,没有遵从任何特定的Java约定或框架(如EJB)。

  • PersonDAO.java
    顾名思义: DAO - Data Access Object。通过JDBC连接HANA数据库实例,创建名为T_PERSONS的数据库表,已经往表里插入数据的逻辑都写在这个DAO类里。

  • PersistenceWithJDBCServlet.java
    一个简单的通过Servlet实现的UI,用于接受用户输入并调用PersonDAO将输入发送到HANA数据库实例。

JDBC数据库DataSource实例的获取通过JNDI完成,该实例作为输入参数传入到DAO构造函数,所有接下来的JDBC操作均通过该DataSource进行。

 

 

这个DefaultDB的配置位于web.xml:

 

 

 

将该应用部署到SAP云平台,应用名为jerryjdbc。

 

此时仅仅通过上图web.xml的配置,Java应用还无法知道在SAP云平台上到底要操作哪个数据库实例。
为此我们需要将jerryjdbc这个应用同第一步创建的HANA数据库实例hana01绑定起来。该绑定通过下图的Data Source bingdings页面创建:

 

 

 

绑定成功后,即可通过Servlet UI提供的简易界面,向HANA数据库实例里插入一个Person记录 Jerry Wang。

 

 


在手机上访问该数据库实例,能看到刚刚插入的Jerry Wang。

 

On-Premise系统应用连接Internet Network上的数据库实例

前文介绍的Java应用和HANA数据库实例均位于SAP云平台。我的前一篇公众号文章 使用Java+SAP云平台+SAP Cloud Connector调用ABAP On-Premise系统里的函数 介绍了部署在Internet Network上的应用如何访问Corporate Network上的服务,现在我们试着把访问方向翻转:现在我把Java应用部署在Corporate Network里,比如SAP成都研究院机房的一台服务器上,让该Java应用去连接SAP云平台上的HANA数据库实例。
同样的,这里再次需要使用到Cloud Connector。

 

配置Cloud Connector完成从On-Premise系统到Cloud的连接

在SAP云平台创建另一个HANA数据库实例,取名为jerrydemo。然后登录Cloud Connector,点击标签On-Premise to Cloud,创建一个新的Service Channels:

 

 

 

将新建的数据库实例jerrydemo分配到这个新建的Channel去:

 

 

创建成功如下图。注意生成的端口号32215,后续会使用。

 

修改On-Premise系统上Java server的配置,让其指向SAP云平台的数据库实例
Java应用的代码无需做任何调整,仅需更改Server配置。修改Servers文件夹下的文件connection.properties, 明细如下,目的就是将该Server的数据库连接指向Cloud Connector上刚刚配置的Service Channel,通过Cloud Connector作为桥梁连接到SAP云平台上的HANA数据库。

javax.persistence.jdbc.url: 指向的localhost:32215即Cloud Connector上配置的Service Channel,该Channel我分配的HANA数据库实例的ID为jerrydemo。currentschema=SYSTEM,意为接下来我通过JDBC创建的数据库表会分配到SYSTEM schema下。
javax.persistenc.jdbc.user / password: 填入jerrydemo这个数据库实例的访问用户名和密码。

 

 

至此所有配置完成。
启动On-Premise系统上的localhost服务器,插入两条数据:

 

 

 

打开SAP云平台上的HANA Development Tool连接,从SYSTEM这个Schema下能观察到通过刚才运行在On-Premise系统上的Web应用插入的两条记录,说明从On-Premise系统写入SAP云平台数据库的尝试成功。

 

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

 
 
0
0
分享到:
评论

相关推荐

    SAP HANA 数据库 2.8.22 含 ODBC

    SAP HANA数据库是SAP公司推出的一款高性能的数据管理和分析平台,专为处理大量实时数据而设计。2.8.22是该数据库系统的一个版本号,代表着在该版本中,SAP对HANA进行了多方面的优化和更新,以提供更高效、稳定的服务...

    sap hana的jdbc驱动包以及测试连接的代码

    SAP HANA是一款高性能的数据处理和分析平台,广泛应用于企业级大数据分析。JDBC(Java Database Connectivity)是Java编程语言中用于与各种数据库交互的一种标准接口。在这个场景中,"ngdbc.jar" 是SAP HANA提供的...

    SAP HANA数据库直连工具

    5. 使用JDBC驱动,开发者可以通过编写Java代码来执行SQL语句,查询或操作SAP HANA数据库。 6. `新建文本文档.txt`可能包含连接HANA的步骤、配置示例或Java代码片段,对于理解和使用直连工具至关重要。 为了实现SAP ...

    SAP-HANA数据库SQL参考手册.pdf

    SAP HANA数据库是SAP公司推出的一个高性能、实时的数据库和应用平台,专为大规模数据处理而设计。SAP HANA数据库的一个关键特性是其对SQL(结构化查询语言)的支持,这使得它能够处理复杂的数据查询和事务处理。SQL...

    sap hana studio SAP HANA 数据库连接工具

    sap hana studio SAP HANA 数据库连接工具 及安装方式

    SAP-HANA数据库SQL参考手册.pdf(中文版)

    SAP HANA数据库SQL参考手册详细介绍了这些规则和约定,为数据库管理员和开发人员提供了一个全面的指南,帮助他们在SAP HANA平台上有效地执行SQL操作。该手册不仅涵盖了基础知识,如数据类型、操作符和函数,还包括...

    saphana的jdbc驱动

    java连接saphana的jdbc驱动,驱动类:com.sap.db.jdbc.Driver,连接URL:jdbc:sap://${ip}:${port}/${example}?reconnect=true

    SAP-HANA数据库SQL中文完全参考手册

    SAP-HANA数据库SQL中文完全参考手册,本文档完全翻译为中文,适合看不懂原版官方英文文档的人,内容做了精美的排版,里面包括各种函数,语法,限制信息等。内容非常完备,掌握这本手册,相信一定能掌握HANA

    中文版SAP-HANA数据库SQL参考手册.docx

    SAP HANA数据库SQL参考手册是为SAP HANA平台上的SQL用户提供的全面指南,尤其适合SAP顾问、系统管理员和硬件合作伙伴等专业人士使用。该手册深入解析了在HANA环境中如何有效地运用SQL语言,涵盖了从基本语法到高级...

    SAP HANA数据库连接 ngdbc.jar

    SAP HANA数据库连接jar ngdbc.jar DRIVER = "com.sap.db.jdbc.Driver"; url="jdbc:sap://<HANA数据库主机名>:30015?reconnect=true

    SAPHANA数据库.pdf

    使用SAP HANA Studio,可以快速创建和管理SAP HANA数据库,进行数据分析和报表生成。 3.1 使用SAP HANA模型器 SAP HANA模型器是一个基于图形用户界面的开发工具,能够提供实时的数据分析和报表生成能力。使用SAP ...

    hana jdbc ngdbc.jar com.sap.db.jdbc.Driver

    总的来说,了解并熟练使用 SAP HANA JDBC 驱动对于任何需要与 HANA 数据库进行交互的 Java 开发者来说都是至关重要的。这包括但不限于构建数据访问层、ETL(提取、转换、加载)过程、数据分析应用、报表工具等。通过...

    hdbstudio用于连接HANA数据库

    SAP HANA(High-Performance Analytic Appliance)是SAP公司推出的一款高性能内存数据库平台,主要用于处理大规模数据的实时分析。HANA的独特之处在于其将数据存储在内存中,从而实现了极快的数据读取速度和强大的...

    HANA JDBC驱动

    HANA JDBC驱动是用于连接Java应用程序到SAP HANA数据库的一种接口,它是基于Java Database Connectivity (JDBC)标准实现的。在Java编程环境中,JDBC驱动扮演着关键角色,允许程序通过标准API与各种数据库系统进行...

    SAP_HANA数据库SQL参考手册

    这两个标题实际上表达了相同的意思,即这是一份关于SAP HANA数据库中SQL语言使用的参考手册。 #### 标识符 在SAP HANA数据库中,标识符用于指代表、视图、列等数据库对象。默认情况下,标识符区分大小写,并且遵循...

    Kettle连接SAP HANA数据库包 ngdbc-2.5.49.jar

    Kettle连接SAP HANA DB 数据库支持包 ngdbc-2.5.49.jar 测试过可以使用

    SAP Data Services如何连接HANA

    当需要与SAP HANA进行交互时,SAP Data Services 提供了直接的连接能力,使用户能够轻松地访问和处理存储在HANA数据库中的大量结构化数据。以下将详细介绍如何在SAP Business Objects Data Services (BO Data ...

    HANA数据库备份和还原.rar_HANA SAP_HANA数据库备份_deeplyqv7_hana恢复数据库_hana数据库

    5. **HANA数据库**:SAP HANA是高性能的内存数据库平台,设计用于实时业务分析和数据处理。它支持OLTP(在线事务处理)和OLAP(在线分析处理)工作负载,为企业提供统一的平台进行数据管理。 6. **HANA SAP**:SAP ...

    SAPHANA数据库[定义].pdf

    SAP HANA 数据库定义指南 SAP HANA 是一款基于内存的关系数据库管理系统,专门为高性能和实时数据处理而设计。...本文档提供了 SAP HANA 数据库的详细介绍和使用指南,旨在帮助开发者快速上手 SAP HANA 数据库。

Global site tag (gtag.js) - Google Analytics