【问题标题】:Cognos 11 using SDK can we Get Native SQl (generated sql)Cognos 11 使用 SDK 可以获取 Native SQl(生成的 sql)
【发布时间】:2020-09-30 12:30:32
【问题描述】:

我可以使用 SDK 获取报告规范 XML,并且可以在其中获取 SQL 到数据库。但是,如果我们使用模块/包,则报告规范不包含本机 SQL。类似于在报表工作室中获取生成的 SQL。有没有办法使用 SDK 获取 Native SQL(生成的 SQL)。 谢谢, 电信标准化局

【问题讨论】:

    标签: sdk cognos


    【解决方案1】:

    我想是的,在带有 SDK 的 cognos 中使用 BIBUS 对象寻找 reportversion 方法,然后是 SQL 属性。

    IBM 上有可用的示例代码,但似乎 IBM 已删除该 URL。

    http://www.ibm.com/support/docview.wss?uid=swg21344260

    【讨论】:

    • 感谢阿米特的指点。是的,链接坏了。将查看文档并更新
    • 嗨,Amit,我无法访问 reportVersion 对象。我在文档中发现 reportVersion 存在于 baseReport (authoredReport/reportView) 中,但我无法掌握它。您能告诉我如何访问 reportVersion 对象吗?
    【解决方案2】:

    是的,您可以通过reportService.validate() 方法获取SQL。但是,需要处理两个问题:1) 需要提供提示值(如果需要),以及 2) 您必须使用 Cognos SDK asynchronous conversation 才能运行验证以完成并检索结果。

    学习并让异步对话正常工作可能需要一些时间,但 Cognos 根目录中提供的示例中有用于验证的示例代码。在 Cognos 11 中,这些示例方便地位于 Cognos 根目录下的 samples 文件夹中。您将在那里找到 Java 示例,这些示例演示了如何提交使用异步对话的请求,并执行诸如提交提示值之类的操作,并告诉 Cognos 您正在等待并且仍然对结果感兴趣。

    如果您确实可以完成请求,则响应的detail 属性将包含一个具有queryInfo propertyasynchDetailReportValidation 对象。此 XML 将包含报表在运行时将执行的每个查询的 SQL。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-02
      • 2010-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      • 1970-01-01
      相关资源
      最近更新 更多