如何在Tibco BW JDBC调色板

时间:2018-02-05 14:48:52

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

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

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

如果我使用'结果集作为架构'如果列名不同,则在解析结果集时,它也会抛出错误。

有没有办法在Tibco BW中解决这个问题?

先谢谢。

2 个答案:

答案 0 :(得分:0)

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

Step1 创建包含以下内容的XSLT文件:

// with string format
var columnHeaders1 = string.Format($"|{0,-30}|{1,-4}|{2,-15}|{3,-30}|{4,-30}|{5,-30}|{6,-30}", "ColumnA", "ColumnB", "ColumnC", "ColumnD", "ColumnE", "ColumnF", "ColumnG");

// with string interpolation
var columnHeaders2 = $"|{"ColumnA",-30}|{"ColumnB",-4}|{"ColumnC",-15}|{"ColumnD",-30}|{"ColumnE",-30}|{"ColumnF",-30}|{"ColumnG",-30}";

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

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

结果应如下所示:enter image description here

此处链接指向transform XML tutorial

答案 1 :(得分:0)

您可以使用“Any Element”尝试ParsigXML:

See the Input is the UnresolvedSet

这是我解析的输出:

enter image description here

希望它适合你。

相关问题