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

59次阅读
没有评论

共计 1553 个字符,预计需要花费 4 分钟才能阅读完成。

本篇内容主要讲解“如何使用 JDBC 操作 SAP 云平台上的 HANA 数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让丸趣 TV 小编来带大家学习“如何使用 JDBC 操作 SAP 云平台上的 HANA 数据库”吧!

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

登陆 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 进行。

创建成功如下图。注意生成的端口号 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 这个数据库实例的访问用户名和密码。

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

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

br font-size:16px;white-space:normal;background-color:#FFFFFF; /

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

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

到此,相信大家对“如何使用 JDBC 操作 SAP 云平台上的 HANA 数据库”有了更深的了解,不妨来实际操作一番吧!这里是丸趣 TV 网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-15发表,共计1553字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)