如何计划从SQL创建的存储过程

2020-09-22 01:57发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我从SQL控制台而不是使用Project Explorer创建存储过程。

Thomas Jung解释说,只需1个xsjob文件即可完成此操作。

所有用于调度过程的教程都在xsjob文件中使用以下代码:

"操作":" xsjob-tutorial.jobs:yahoo.xsjs::readStock",

但是我不想使用存储库.xsjs文件。 我想在使用SQL创建的架构中使用存储过程

我试图将操作更改为Schema.StoreProcedureName,但是Project Explorer不允许我激活它。

有人想到如何在xsjob中使用非项目资源管理器存储过程吗? 有没有更简单的方法来计划存储过程? 我正在使用SAP HANA 2.0 SPS02

谢谢

马特

stored-procedures.jpg (36.4 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我从SQL控制台而不是使用Project Explorer创建存储过程。

Thomas Jung解释说,只需1个xsjob文件即可完成此操作。

所有用于调度过程的教程都在xsjob文件中使用以下代码:

"操作":" xsjob-tutorial.jobs:yahoo.xsjs::readStock",

但是我不想使用存储库.xsjs文件。 我想在使用SQL创建的架构中使用存储过程

我试图将操作更改为Schema.StoreProcedureName,但是Project Explorer不允许我激活它。

有人想到如何在xsjob中使用非项目资源管理器存储过程吗? 有没有更简单的方法来计划存储过程? 我正在使用SAP HANA 2.0 SPS02

谢谢

马特

stored-procedures.jpg (36.4 kB)
付费偷看设置
发送
3条回答
一只江湖小虾
1楼 · 2020-09-22 02:32.采纳回答

这里是存储过程的工作示例。 但是,您会注意到它的设计时过程。 我不相信您可以通过Schema引用一个-只能在存储库/设计时引用。 您始终可以为现有的Schema过程创建过程包装器。

 {" description":"我的第一个SQLScript作业"," action":" sap.hana.democontent.epmNext.procedures :: jobsCreateEntry"," schedules":[{" description":"将每10秒运行一次 "," xscron":" * * * * * * 0:59/10"}]}
 
me_for_i
2楼-- · 2020-09-22 02:32

好,我将尝试包装。 我不熟悉设计时vs存储过程。 ^^感谢您提供信息。 我正在研究的替代方法是使用shell脚本+ cron作业,该作业使用hdbsql按计划运行我的存储过程。 :D

shere_lin
3楼-- · 2020-09-22 02:30

嗨,

我能够通过使用hdbsql + cron作业的shell脚本来做到这一点

这是我的cron语句,用于每分钟运行存储过程,并将日志输出到日志文件。

 * * * * */scripts/runstoredprocedure.sh >>/scripts/runstoredprocedure_cron.log 2>&1; 

这是我的脚本(登录到根目录)。

#!/bin/bash
 login =" <您的HANA数据库用户>"
 pass =" <您的HANA数据库用户密码>"
 query ="'call <您的模式> .COUNT_ROWS_TO_NEW_TABLES();'"
 将登录回显到c01adm
 su -l c01adm << EOF echo -e $ query |  hdbsql -u $登录-p $ pass
 紧急行动
 回显"今天日期$(date)" 

如果要以 adm用户身份运行,则可以执行此操作,而无需" su -l c01adm"命令或<< EOF至EOF标记。 确保编辑 adm用户而不是root用户的cron作业(以 adm用户身份登录,命令:crontab -e)

#!/bin/bash
 login =" <您的HANA数据库用户>"
 pass =" <您的HANA数据库用户密码>"
 query ="'call <您的模式> .COUNT_ROWS_TO_NEW_TABLES();'"
 echo -e $ query |  hdbsql -u $登录-p $ pass
 回显"今天日期$(date)" 

希望这会有所帮助,

马特

一周热门 更多>