Talend tMSSQLInput
我使用tMSQLInput_1创建了一个Talend MS Sql作业,并插入了我自己的查询。下面是我的查询示例Talend tMSSQLInput,talend,Talend,我使用tMSQLInput_1创建了一个Talend MS Sql作业,并插入了我自己的查询。下面是我的查询示例 if object_id('tempdb..#lang_guid')is not null drop table #lang_guid; create table #lang_guid( patient_guid varchar(255) ,accountid varchar(255)
if object_id('tempdb..#lang_guid')is not null
drop table #lang_guid;
create table #lang_guid(
patient_guid varchar(255)
,accountid varchar(255)
);
insert into #lang_guid
select c.customerid
,'0000001'
from customer c with(nolock)
select patient_guid
,accountid
from #lang_guid
我遇到的问题是查询从表中提取patient_guid,而不是我在临时表中动态创建的accountid。当我在Talend中运行作业时,它返回patient_guid,但我没有获取accountid的任何数据。以前是否有人在Talend中看到过此问题,如果是,我如何解决它。您是否定义了相应的模式? 在Talend中,当使用输入组件(数据库或任何其他输入)时,必须通过单击tMSSQLInput的组件视图中的…,来定义模式 您的案例中应该有两个已定义的列
确保为每个输入定义了正确的talend模式。在tMssqlInput中,如果单击Guess Schema,您可以看到从查询中检测到哪些列。在tMssqlInput组件处检查模式(根据fetch查询定义)有两列。单击查询框上方的猜测模式,或单击编辑模式并定义您的模式 或者您也可以查看下面提供的Talend文档
以下是您需要遵循的步骤:
- 您需要编写精确的查询来获取所查找的字段,
在您的情况下,可能是
从客户c选择患者guid、帐户ID和(nolock)
- 然后,您必须单击guess schema来填充组件的元数据
- 您可以通过单击组件视图中的编辑架构按钮来检查字段
- 然后将其连接到
,查看是否有您想要的数据李>tLogRow
- 另一方面,只需使用(nolock)从客户c编写查询
Select*
猜测模式->
将其与->
连接,查看数据来自哪个字段tLogRow
,然后添加->
以选择字段并进一步处理数据tFilterColumn
我希望我能提供帮助,请提供您的反馈。您是否在工作流程中使用tLogRow组件查看您的tMSSqlInput组件输出/返回的数据?如果是,你能提供这个输出吗?