谁能写出hdbsql的-f选项的示例?

2020-09-18 14:22发布

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

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


我需要在hdbsql中执行批处理,并且需要一个日志文件来检查出什么问题

我已经读过-f选项:返回所有发送到数据库实例的SQL语句

这正是我想要的,但是我不知道如何使用此选项。

能请你帮我吗?

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

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


我需要在hdbsql中执行批处理,并且需要一个日志文件来检查出什么问题

我已经读过-f选项:返回所有发送到数据库实例的SQL语句

这正是我想要的,但是我不知道如何使用此选项。

能请你帮我吗?

付费偷看设置
发送
2条回答
葫芦娃快救爷爷
1楼-- · 2020-09-18 15:02

不太确定此功能是否对您有很大帮助,但是,请问您提供示例,所以请考虑以下示例:

没有选择:

 hdbsql -U s12dev"从事实中选择SELECT((*))"
 计数(*)
 10000000
 选中1行(总时间574.115毫秒;服务器时间268微秒)

-f选项(打印出SQL命令):

 hdbsql -U s12dev -f"从事实中选择SELECT((*)]"
 从事实中选择计数(*)

 计数(*)
 10000000
 选择1行(总时间1301.303毫秒;服务器时间139.424毫秒)
 

-fn选项(打印带有附加行号的SQL命令):

 hdbsql -U s12dev -fn"从事实中选择SELECT(())"
 1)从事实中选择SELECT(*)

 计数(*)
 10000000

 选中1行(总时间606.342毫秒;服务器时间178微秒)

-x选项(安静运行(无消息,仅查询输出)):

 hdbsql -U s12dev -fn -x"从事实中选择计数(*)"
 计数(*)
 10000000
 
clever101
2楼-- · 2020-09-18 15:23

好的,我不在乎您如何构建最终调用的脚本。

显示最终脚本,然后研究为什么失败。

一些一般要点:

  • 以纯文本形式输入用户名/密码(将在最终脚本中)是一个严重的安全漏洞。 照我上面显示的做,改为使用hdbuserstore。
  • 无需重定向标准输出。 hdbsql提供了-O参数来定义输出文件。
  • 不确定在交互模式下为什么要指定多行模式。 只需指定命令行选项-m就足够了。
  • 输入文件也一样:改为使用-I参数
  • -fn选项仅从HANA 2 SP 03开始可用。如果您的hdbsql客户端使用的是旧版本(尝试使用hdbsql -v显示版本),则这些选项不存在。

无论如何,即使在Linux上,也会产生包含SQL语句的输出文件:

 hdbsql -U ddude -f -o/tmp/out.txt"从事实中选择SELECT(())"

 猫/tmp/out.txt
 从事实中选择计数(*)

 计数(*)
 10000000

 如果发生错误,也会记录下来:

 hdbsql -U ddude -f -o/tmp/out.txt"从factX中选择计数(*)"
 * 259:无效的表名:在架构DEVDUDE中找不到表/视图FACTX:第1行第22列(在pos 21处)SQLSTATE:HY000

 猫/tmp/out.txt
 从事实X选择计数(*)

 * 259:无效的表名:在架构DEVDUDE中找不到表/视图FACTX:第1行第22列(在pos 21处)SQLSTATE:HY000
 

一周热门 更多>