进入 SAP BTP cockpit:

把 CloudFoundry API endpoint 抄下来:

https://api.cf.us10.hana.ondemand.com/

收到如下输出:

Setting API endpoint to https://api.cf.us10.hana.ondemand.com/…
OK

使用 cf login 登录:

安装对应的依赖:

npm install --save-dev @sap/hdi-deploy

在项目文件夹根目录的 .cdsrc.json 文件里,添加如下的配置:

{"build": {"target": "."},"hana" : { "deploy-format": "hdbtable" }
}

创建一个 HANA Cloud 实例:

允许所有 ip:

创建之后,等到其处于 Running 状态:

使用如下命令行进行部署:

cds deploy --to hana:bookstore-hana

在 gen 文件夹下生成了大量的 .hdbview 文件:

除了初始化 SAP HANA 数据库之外,cds deploy 命令还在 项目根文件夹中创建了一个名为 default-env.json 的文件。 此文件包含一组 credentials,用于连接到由命令创建的 SAP HANA HDI 容器。 CAP Java 能够自动从此文件中获取 SAP HANA credentials,并将本地运行的应用程序配置为使用 SAP HANA HDI 容器作为数据库。

将应用程序部署到云时,Cloud Foundry 将通过 Open Service Broker API 将凭据作为服务绑定提供给应用程序。 同样在这种情况下,CAP Java 将自动获取 SAP HANA 凭据并为您配置应用程序,您将在下一个教程中看到。

所描述的功能可作为 CAP Java 中的插件使用。 因此,需要在项目中添加一个额外的 Maven 依赖项。 该依赖项将能够从 default-env.json 读取 SAP HANA 服务绑定,以自动配置 SAP HANA 连接。 此外,它还包括 SAP HANA JDBC 驱动程序。

需要在 pom.xml 里增添如下依赖性:

<dependency><groupId>com.sap.cds</groupId><artifactId>cds-feature-hana</artifactId>
</dependency>

使用命令行启动应用:

mvn spring-boot:run -Dspring-boot.run.profiles=cloud

Java 系统属性 -Dspring-boot.run.profiles=cloud 确保使用 SQLite 作为数据库的默认配置(仍在 application.yaml 中定义)不会被激活。

可以观察日志行 Loaded default-env.json from directory ‘/home/user/projects/bookstore’ 和 Registered primary ‘DataSource’ bean definition for connected service ‘bookstore-hana’,这表明选择了 SAP HANA 配置被 Java 应用采纳了。

打开 url:

https://workspaces-ws-pdwk4-app1.us10.trial.applicationstudio.cloud.sap/

使用 curl 创建一条新的订单:

curl -X POST http://localhost:8080/odata/v4/OrdersService/Orders
-H “Content-Type: application/json”
-d ‘{ “currency_code”: “USD”, “items”: [ { “book_ID”: “b7bca6dd-0497-465e-9a5a-56f244174c8c”, “amount”: 1 } ] }’

成功生成了一条订单,id 如下:

使用这个 url 能查询到刚刚生成的订单:

https://workspaces-ws-pdwk4-app1.us10.trial.applicationstudio.cloud.sap/odata/v4/OrdersService/Orders

如何在 SAP BTP Java 应用里使用 SAP HANA 数据库相关推荐

  1. 如何在 SAP BTP Java 应用里使用 SQLite 数据库

    SAP Cloud Application Programming 模型的推荐是将 service 和 model 模型的定义分离开. 因此,我们在 db 文件夹里定义 model model. 新建 ...

  2. 一个实际的例子学习 SAP BTP Java 应用的 @Before 注解使用方式

    我们可以使用了 On 注释,它替换了 CAP Java 运行时提供的事件的默认处理,以此来注册自定义事件处理程序,从而处理实体的 READ 或 CREATE 事件. 如果想增加默认处理,我们将使用 @ ...

  3. 在 SAP Business Application Studio 里访问 SAP HANA Cloud 实例

    Access a Classic Schema from SAP Business Application Studio 本文主题:从 SAP Business Application Studio ...

  4. 在 Excel 里使用 ODBC 读取 SAP BTP 平台上 CDS view 的数据

    这是 Jerry 2021 年的第 59 篇文章,也是汪子熙公众号总共第 336 篇原创文章. Jerry 之前曾经给大家分享过,如何使用各种工具和编程语言,消费 SAP API Business H ...

  5. 在 SAP BTP 上体验 SAP HANA Cloud 试用版本

    这是 Jerry 2021 年的第 58 篇文章,也是汪子熙公众号总共第 335 篇原创文章. 我们在 SAP 官方网站 help.sap.com 输入关键字 SAP HANA 之后: 会看到很多搜索 ...

  6. 基于 SAP BTP 平台的 AI 项目经验分享

    笔者在 SAP 成都研究院工作十五余年,也曾参加过一些基于 SAP Business Technology Platform(中文名称为 SAP 业务技术平台,以下简称 SAP BTP) 的 AI 服 ...

  7. SAP HANA,S/4HANA 和 SAP BTP 的辨析

    这是知乎上一个朋友向我咨询的问题. SAP HANA,SAP S/4HANA,和 SAP BTP,这几个名词,对于刚接触 SAP 的朋友来说确实容易混淆. 光是 SAP HANA,就有好几款名称类似但 ...

  8. 使用ABAP(ADBC)和Java(JDBC)连接SAP HANA数据库

    在表DBCON里维护一条记录,指向HANA数据库.con_ENV里填入HANA数据库的主机名和端口号.如vmXXXX:30015 DATA: ls_new TYPE DBCON.ls_new-con_ ...

  9. 如何将SAP API Hub 上提供的工作流导入到 SAP BTP 上

    官网链接:https://developers.sap.com/tutorials/cp-starter-ibpm-employeeonboarding-2-configure.html SAP Wo ...

最新文章

  1. 干货丨三大特征选择策略,有效提升你的机器学习水准
  2. 潘云鹤院士:AI2.0和工业经济发展智能化
  3. CZoneSoft出品: 音频视频在线录制系列之 AV留言本 简介
  4. 由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值 解决方案...
  5. qt 文件 时间 倒序排列_win7电脑敬业签便签软件分类标签里的内容如何按提醒时间排列?...
  6. 别再说Python没有枚举类型了,好好看看
  7. 机器学习之基于Fisher实现二分类的人脸识别
  8. Linux直接与编译安装Vsftpd服务器
  9. 【转载】Jsoup设置代理ip访问
  10. 高性能MySQL(第二版)第三章 架构优化和索引(上)——读书笔记
  11. 深入java虚拟机需要读吗_《深入理解Java虚拟机》读后总结(一)JVM内存模型
  12. 安装python进度条不动了_TensorFlow(一):使用Anconda安装TensorFlow
  13. 第 15 章 垃圾回收相关算法
  14. 寻找道路(NOIP2014)神奇之题。。
  15. 构建前端项目及使用技术
  16. H5页面跳转关注微信公众号页面
  17. 大数据工程师常用的大数据BI工具是什么?
  18. 咸鱼的 GitHub 情报 | 20200111 期
  19. IE无法上网,360浏览器部分网站无法打开
  20. 什么是Q-Learning算法?

热门文章

  1. 由于找不到openni2_Python OpenNI2 libOpenNI2.so问题
  2. macos git技巧【配置公匙】【提交代码】[中文目录的命令匹配(clean checkout等命令)][删除所有记录的某个文件]
  3. 4.0 内核文件系统-kernel部分
  4. 无线智能插座MQTT服务端的开启及检验
  5. 4. 业务数据采集平台搭建
  6. unity重新生成guid的插件免费
  7. 如何使用vue-cli
  8. 在人工智能高速发展的背景下,如何更好地培养人才?
  9. ceph文件系统的健康消息
  10. audioread.exceptions.NoBackendError in librosa