【问题标题】:How to parse unresolved result set in Tibco BW JDBC palette如何在 Tibco BW JDBC 调色板中解析未解析的结果集
【发布时间】:2018-07-15 11:04:48
【问题描述】:

我需要从 Tibco BW JDBC 调色板连接到远程 MS SQL 服务器存储过程,以检索我们不知道结果集列名的结果集。

在我的本地环境中,我模拟了返回预期结果集但使用虚拟列名的过程。因此,在解析 unresolvedResultSet 时,如果结果集中的列名与输出中定义的列名不同,则会引发错误。

如果我使用“结果集作为模式”选项,那么如果列名不同,则在解析结果集时也会引发错误。

有什么方法可以在 Tibco BW 中解决这个问题?

提前致谢。

【问题讨论】:

    标签: sql-server xslt tibco tibco-business-works


    【解决方案1】:

    对我来说,将过程输出 UnresolvedResultsets 转换为列/值模式可以帮助解决您的问题。您可以使用标准的“转换 XML”活动将 $JDBC-Procedure/resultSet/UnresolvedResultsets 转换为列/值模式

    Step1 创建具有以下内容的 XSLT 文件:

    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:str="http://exslt.org/strings" 
    xmlns:tns="http://www.*****.com/DMS/Core/Schemas/Index/Schema.xsd" 
    version="2.0">
       <xsl:output method="xml" encoding="UTF-8" indent="yes" />
       <xsl:template match="/">
        <xsl:element name="ROOTELEMENT">
         <xsl:for-each select="//node()[not(exists(child::*))]">
            <xsl:if test="name()">
               <xsl:element name="Column">
                  <xsl:element name="Name">
                     <xsl:value-of select="name()" />
                  </xsl:element>
                  <xsl:element name="Value">
                     <xsl:value-of select="." />
                  </xsl:element>
               </xsl:element>
               </xsl:if>
             </xsl:for-each>
          </xsl:element>
       </xsl:template>
    </xsl:stylesheet>
    

    步骤 2 添加“转换 XML”活动并指定在步骤 1 中创建的 xslt 文件作为样式表

    Step3 映射 $JDBC-Procedure/resultSet/UnresolvedResultsets 以转换 XML 输入

    结果应该是这样的:

    这里是transform XML tutorial的链接

    【讨论】:

      【解决方案2】:

      您可以尝试使用“任何元素”的 ParsigXML:

      这是我正在解析的输出:

      希望它对你有用。

      【讨论】:

      • Do not post images of code or errors! 图片和屏幕截图可以很好地添加到帖子中,但请确保帖子在没有它们的情况下仍然清晰且有用。如果您发布代码或错误消息的图像,请确保您还复制并粘贴或直接在帖子中输入实际代码/消息。
      猜你喜欢
      • 2014-07-12
      • 1970-01-01
      • 1970-01-01
      • 2015-06-10
      • 2012-07-01
      • 2017-07-10
      • 2016-07-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多