我不是ETL的新手并试图熟悉Talend。我似乎无法获得存储过程的任何输出(使用tMSSqlSP)或查询(使用tMSSqlRow)。注意:我读到的内容表明tMSSqlRow不会产生柱状输出但不确定是否正确。
下面显示的作业运行但没有来自tMSSqlSP组件的输出。跟踪调试显示输出标题为null。但是,在SSMS中手动执行SP会成功,同时显示objid和title。
SP执行一个简单的查询,接受单个输入参数(int)并输出两列 - objid(int)和title(string):
create procedure st_sp_case_title_get
@objid int
as
select [objid], [title] from [dbo].[table_case] where [objid] = @objid
答案 0 :(得分:1)
您需要使用tParseRecordSet
来检索和解析来自tMSSqlRow
和tMSSqlSP
的结果集:
将列定义为类型为result
的结果集(我的名为Object
)。在tMSSqlSP
参数标签中,将personid
设置为IN
类型,将result
设置为RECORD SET
类型。
tParseRecordSet
架构:
它解析结果列并获取Firstname
和Lastname
列(您的objid
和title
列)
tMSSqlRow
非常相似。请查看我之前的answer以获取示例。