【问题标题】:Suppressing Headers while using DB2CLI在使用 DB2CLI 时抑制标头
【发布时间】:2019-08-22 11:15:48
【问题描述】:

在使用 DB2CLI 命令时,我们会获得 IBM 版权信息和页脚详细信息。是否有任何选项可以抑制页眉和页脚信息?

echo "select CURRENT USER from dual"|db2cli execsql -dsn 'SAMPLE'

输出

PS C:\Users\Desktop> echo "select CURRENT USER from dual"|db2cli execsql -dsn 'SAMPLE'
IBM DATABASE 2 Interactive CLI Sample Program
(C) COPYRIGHT International Business Machines Corp. 1993,1996
All Rights Reserved
Licensed Materials - Property of IBM
US Government Users Restricted Rights - Use, duplication or
disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
> select CURRENT USER from dual
FetchAll:  Columns: 1
  1 
  TESTUSER 
FetchAll: 1 rows fetched.
>

尝试使用 set headers=off,这通常适用于 jsqsh,但不适用于 DB2CLI,任何线索都值得赞赏。

【问题讨论】:

    标签: db2 bigsql


    【解决方案1】:

    对于当前发布的最高 V11.5 的 Db2-LUW 版本,没有记录的方法可以使用 db2cli 工具执行此操作。

    IBM 员工/承包商可能会披露一些未记录的方法。

    db2cli 工具并非用作通用 SQL 接口,而是用于故障排除、验证、配置、简单测试和调试。

    替代方案包括:

    • 后处理脚本可以去掉你不想要的东西,但是你必须写这些,

    • 使用包含 db2 CLP 的 Db2 客户端,它允许您使用其 -x 选项(以及其他选项)并且不发布版权字符串。 Db2 Runtime 客户端占用空间小,包括 db2 CLP。

    • 使用 Db2 的脚本接口(python、perl、bash)或编程接口(c# 或其他 .net 语言),以便您进行控制,但这些都需要相关配置。

      李>

    【讨论】:

    • 哦,好的,谢谢您的信息。我在 power-shell 中使用它,我使用硬编码剥离行,只是想知道有没有更好的方法来做到这一点。
    【解决方案2】:

    您可能需要查看工具db2batch。它允许将 SQL 发送到 Db2 并检索结果。

    如果您想要完全控制,请按照 mao 在另一个答案中的建议进行。

    【讨论】:

      猜你喜欢
      • 2020-10-11
      • 1970-01-01
      • 1970-01-01
      • 2011-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-19
      • 2020-08-08
      相关资源
      最近更新 更多