首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【SAP HANA系列】SAP HANA XS的JavaScript API详解

【SAP HANA系列】SAP HANA XS的JavaScript API详解

原创
作者头像
matinal
修改于 2020-11-11 10:17:21
修改于 2020-11-11 10:17:21
90600
代码可运行
举报
文章被收录于专栏:SAP TechnicalSAP Technical
运行总次数:0
代码可运行

正文部分

SAP HANA XS使用服务器端JavaScript API

SAP HANA扩展应用程序服务(SAP HANA XS)提供了一组服务器端JavaScript应用程序编程接口(API),可配置应用程序与SAP HANA进行交互。

SAP HANA XS JavaScript Reference列出了在应用程序和SAP HANA之间编程交互时可用的所有功能。例如,可以使用数据库API从应用程序内部调用SQL语句,或使用请求处理API访问SAP HANA数据的当前HTTP请求的详细信息.AP HANA XS包含以下服务器端JavaScript API集:Database、Outbound connectivity、Request processing、Session、Job Schedule、Security、Trace、Utilities、XS Data Services、XS Procedures这里不再详细介绍每一个API的用处,想详细了解的,可加HANA讨论群。

简单说几个如下

1、Database API

SAP HANA XS数据库API($ .hdb)提供了能够简单方便地访问数据库的工具。

$ .hdb命名空间旨在替代旧的$ .db命名空间。 由于$ .hdb和$ .db API使用不同的数据库连接,因此避免在单个http请求中使用这两个API,例如更新相同的表,可能会导致死锁等等等这样的问题。

那么,$.hdb有哪些可用选项呢

$ .hdb.Connection:与SAP HANA数据库建立连接。

$ .hdb.ProcedureResult:表示对SAP HANA数据库的存储过程调用的结果。

$ .hdb.ResultSet:表示数据库查询的结果。

举例前,说明一点:默认情况下,自动提交模式被禁用,这意味着所有的数据库更改都必须被明确的提交。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var connection = $.hdb.getConnection();
connection.executeUpdate('UPDATE "DB_EXAMPLE"."ICECREAM" SET QUANTITY=? WHERE FLAVOR=?', 9, 'CHOCOLATE');
connection.commit();

以下SAP HANA XS数据库API的使用示例显示了如何建立与SAP HANA的连接并从指定的过程调用返回结果集。请看存储过程参数部分:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
PROCEDURE 'DB_EXAMPLE'.icecream.shop::sell(
 IN flavor VARCHAR,
 IN quantity INTEGER,
 IN payment DECIMAL,
 OUT change DECIMAL) 
var fnSell = connection.loadProcedure('DB_EXAMPLE', 'icecream.shop::sell');
var result = fnSell('CHOCOLATE', 3, 30.0);
var change = result['change'];
var resultSets = result['$resultSets'];
var params;
for (var outputParam in result) {
 params += outputParam + ' ';
}

这样可用访问结果集,最好访问结果集的JSON格式,还要注意一点$ resultSets不可枚举。

2、JOB API

在SAP HANA XS中,通过.xsjob文件创建计划作业,该文件是提交(并激活)SAP HANA存储库的设计时文件。 .xsjob文件可用于定义在后台运行的循环任务; 作业计划API允许开发人员从这些作业中添加和删除计划。 作业计划API提供以下工具: $ .jobs.Job:表示预定的XS作业。

$ .jobs.JobLog:提供对计划作业的日志条目的访问。

$ .jobs.JobSchedules:可以控制XS作业的计划。

作为XS作业的一部分,不可能调用$ .request和$ .response对象。XS作业API $ .jobs.Job能够在其中定义的作业添加计划(并从中删除计划)一个.xsjob文件。

举个栗子,来说明,服务器端JavaScript如何使用作业计划API向现有作业添加计划并从现有作业中删除计划。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var myjob = new $.jobs.Job({uri:"myJob.xsjob", sqlcc:"sqlcc/otheruser.xssqlcc"});
var id = myjob.schedules.add({
 description: "Added at runtime, run every 10 minutes",
 xscron: "* * * * * */10 0",
 parameter: {
 a: "c"
 }
});

myjob.schedules.delete({id: id});

如果URI中引用的XS作业文件与被调用的XS JavaScript或SQLScript函数不在同一个包中,则必须将完整的包路径添加到上述示例第1行中所示的URI中指定的XS作业文件 ,例如</ path / to / package>> MyXSjob.xsjob。

此外,sqlcc / otheruser.xssqlcc中定义的SQL连接用于修改作业; 它不用于执行myJob.xsjob中指定的作业。要了解xscron作业调度程序所需的类似cron的语法,我就来简单讲解一下这里的参数,其实很简单啦,下面就和matinal一起解析这些参数。

比如:2013 * * fri 12 0 0

这样写就代表:2013年每周五12点执行此JOB。是不是很简单

好了,本文就暂时讲解这两种SAP HANA XS的JavaScript API的用法,更多了解

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
Linux开发利器:探秘开源,构建高效——基础开发工具指南(上)【包管理器/Vim】
♥♥♥~~~~~~欢迎光临知星小度博客空间~~~~~~♥♥♥ ♥♥♥零星地变得优秀~也能拼凑出星河~♥♥♥ ♥♥♥我们一起努力成为更好的自己~♥♥♥ ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥ ♥♥♥如果有什么问题可以评论区留言或者私信我哦~♥♥♥ ✨✨✨✨✨✨ 个人主页✨✨✨✨✨✨
用户11352420
2025/07/24
1070
Linux开发利器:探秘开源,构建高效——基础开发工具指南(上)【包管理器/Vim】
Vim第七讲 帮助、个性化和补全
Vim 拥有一个细致全面的在线帮助系统。要启动该帮助系统,请选择如下三种方 法之一:
宋天伦
2020/07/15
6120
Vim 学习
本文的内容来自 vimtutor(v1.7),在 Unix 系统下输入 “vimtutor” 即可进入教学模型。这里记录下来学习点滴,方便以后查看。
李振
2021/11/26
7230
vim 从嫌弃到依赖(12)——打开及保存文件
在前几篇文章中,我们从vim各种模式的使用着手介绍了vim如何进行文本本身的编辑。也通过缓冲区列表的介绍了解到了vim是如何进行打开文件的管理。这篇我们将会着眼于文件的打开和保存的基本操作。通过这篇的阅读,我们可以正式开始尝试将vim用做代码编辑器,而不再是像之前那样作为普通的文本编辑器。
Masimaro
2022/05/19
2.1K0
vim 从嫌弃到依赖(12)——打开及保存文件
Vim 常用操作命令整理
打开关闭 vim xxx,vim +num xxx 命令行打开文件 vim + filename 启动跳到文件结尾 vim +143 filename 打开跳到143行 调试代码有用 vim +/search-term filename 跳到第一个匹配 vim +/search-term filename 跳到最后一个匹配 vim -t tag vim —cmd command filename 加载文件前执行命令 vim -c “:50” filename 加载文件后执行命令 :e xxx vim中打开文
哲洛不闹
2018/09/14
1K0
Vim第一讲 基础操作
特别提示:按下 <ESC> 键会带您回到正常模式或者撤消一个不想输入或部分完整 的命令。
宋天伦
2020/07/15
4080
vim配置即.vimrc文件的配置及vim操作技巧
1.下载vim(略)。让vi命令也可以使用vim的配置,需要修改 vi /etc/bashrc 增加如下一行内容
Twcat_tree
2022/11/30
4.5K0
Vim命令使用说明
vim是我最喜欢的编辑器,也是linux下第二强大的编辑器。 虽然emacs是公认的世界第一,我认为使用emacs并没有使用vi进行编辑来得高效。 如果是初学vi,运行一下vimtutor是个聪明的决定。 (如果你的系统环境不是中文,而你想使用中文的vimtutor,就运行vimtutor zh)
mikelLam
2022/10/31
3.3K0
2023最全vim编辑器教程(详细、完整)-编辑器之神
vi和vim是两款常用的文本编辑器。vi是Unix系统中最早的文本编辑器之一,vim是vi的改进版本。
Python兴趣圈
2023/11/10
3.8K0
2023最全vim编辑器教程(详细、完整)-编辑器之神
Vimtutor中文版
=============================================================================== = 欢 迎 阅 读 《 V I M 教 程 》 —— 版本 1.5 = =============================================================================== vim 是一个具有很多命令的功能非常强大的编辑器。限于篇幅,在本教程当中 就不详细介绍了。本教程的设计目标是讲述一些必要的基本命令,而掌握好这 些命令,您就能够很容易将vim当作一个通用的万能编辑器来使用了。
大数据流动
2019/08/08
1.7K0
【Python Learning第一篇】Linux命令学习及Vim命令的使用
学了两天,终于把基本命令学完了,掌握以后可以当半个程序员了♪(^∇^*) 此文是一篇备忘录或者查询笔记,如果哪位大佬看上了并且非常嫌弃的话,还请大佬不吝赐教,多多包涵 以下是我上课做的一些笔记,非常的凌乱,(⊙﹏⊙)反正是留给自己看的 Day1学习: 以Ubuntu为例子 Ctrl + Shift +‘+’ 变大 Ctrl + ‘-’变小 ls 能显示当前路径下的所有文件名及文件夹名的命令 Ubuntu没有盘符的概念,只有一个根目录 bin 放的是程序相关的 boot 和Ubuntu的启动项相关,开机项相关
Angel_Kitty
2018/04/08
1.1K0
vim 退出命令(保存、放弃保存)_linux保存并退出vim
今天第一次接触这个vim文本编辑器,拿到一个陌生的工具,我们想的当然是最短的时间掌握它的基本操作,体会到成就感。如果你跟我一样,那么这篇教程或许对你有所帮助。
全栈程序员站长
2022/09/23
21.7K0
vim从安装到熟练,这篇文章就够了
一简单介绍一下 下载分享的文件 链接: https://pan.baidu.com/s/1t8yS9jzjewSiGiawBEKcIg?pwd=y4wz 提取码: y4wz  压缩包里面有两个文件,一
sinnoo
2022/12/02
5K0
vim从安装到熟练,这篇文章就够了
vim-神之编辑器-命令汇总笔记
能够手不离键盘快速的书写,代码,文件等,但是要练熟了才能形成战斗力,否则几乎寸步难行。。
十四君
2019/11/25
1.2K0
一篇就学会vim
学会一个软技能,总结一篇文章就够了。 剩下要做的就是不停的练习,不停的尝试,本文是在学习这个仓库之后的极简总结中。 主要作为一个备忘录使用。
六个周
2022/10/28
3.6K0
一篇就学会vim
Linux学习笔记之vim操作指令大全
Vim是款强大的文本编辑器,但是众多指令需要学习,这次记录了指令大全方便以后翻阅。
Jetpropelledsnake21
2019/07/01
3.6K0
Linux学习笔记之vim操作指令大全
【Vim 核心攻略】 —— 文本编辑高手的进阶秘籍
Vim 是一种强大且高度可定制的文本编辑器,广泛用于软件开发、系统管理和各种文本处理任务。它基于更早期的编辑器 Vi,并对其进行了扩展,因此也被称为 “Vi Improved”(Vi 的增强版)。Vim 的特点是快捷键驱动、支持多模式编辑以及可扩展性强。
换一颗红豆
2024/12/23
4280
【Vim 核心攻略】 —— 文本编辑高手的进阶秘籍
vim 个性化设置
Vimscript,一门用于定制Vim的脚本语言。它其实就是 Vim命令。如,在Vim中,保存一个文件使用命令:write(或者缩写 :w)并回车确认。在Vimscript中,使用write实现文件保存功能。
PedroQin
2019/12/18
1.8K0
vim 个性化设置
终端文本编辑神器--Vim命令详解。如何配置Vim以及Vim插件?
Vim是一款跨平台的文本编辑器,不但可以运行在Unix,还可以运行在GNU、Windows平台,并且还支持丰富的插件,助力开发和使用。
Mintimate
2021/08/24
2.5K0
终端文本编辑神器--Vim命令详解。如何配置Vim以及Vim插件?
无插件Vim编程技巧
相信大家看过《简明Vim教程》也玩了《Vim大冒险》的游戏了,相信大家对Vim都有一个好的入门了。我在这里把我日常用Vim编程的一些技巧列出来给大家看看,希望对大家有用,另外,也是一个抛砖引玉的过程,也希望大家把你们的技巧跟贴一下,我会更新到这篇文章中。另外,这篇文章里的这些技巧全都是vim原生态的,不需要你安装什么插件。我的Vim的版本是7.2。
bear_fish
2018/09/19
1.5K0
无插件Vim编程技巧
推荐阅读
相关推荐
Linux开发利器:探秘开源,构建高效——基础开发工具指南(上)【包管理器/Vim】
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档