【问题标题】:Informatica Power center issueInformatica Power 中心问题
【发布时间】:2017-09-09 17:09:50
【问题描述】:

源是表(Sqlserver),目标是文件。

我需要将昨天的数据计数加载到目标文件中,并尝试在源限定符转换中使用以下查询。

SELECT COUNT(*) from Table name where DATEID= dateadd(day,datediff(day,1,GETDATE()),0) ;

表格有昨天的数据计数,但加载为 0 到文件中。

零记录加载...请告诉我...Informatica 专家?

【问题讨论】:

  • 你让一群人猜测你的映射逻辑是做什么的,你的表中存储了什么......任何人都公平的飞跃......你能分享负载摘要吗来自您的会话日志,尤其是源部分
  • 我只想要昨天的记录计数..
  • 好的,我会向 sql 挥手,让我们知道它是否是 sql 导致您出现问题,而不是您的映射中的其他问题 - 您如何在 db 上运行该查询并查看如果它返回任何结果。如果不是,则此问题仅限于查询,而 infornatica 不起作用。如果从 db 运行时它确实返回结果,则检查会话日志以获取实际运行的查询文本,并从负载摘要的源部分确认在源限定符处拾取了多少记录。如果它大于 0,则映射中某处存在瓶颈,这将需要更多工作
  • 这个问题需要改进。请使用stackoverflow.com/help/how-to-ask作为参考。然后通过显示你有什么,发生了什么,显示日志等来改进问题。否则对于真正想帮助的人来说真的很沮丧。

标签: sql-server informatica-powercenter


【解决方案1】:

为什么不试试下面的 where 子句呢?

TO_CHAR (DATEID,'DD/MM/YYYY') = TO_CHAR (GETDATE()-1,'DD/MM/YYYY')

【讨论】:

  • 我试过哪个是你给定的函数但不能在 Sql servr 中工作..请找到以下错误:Msg 195, Level 15, State 10, Line 1 'TO_CHAR' is not a known built-in函数名。
  • 我认为 TO_CHAR 仅在 oracle 中受支持。请尝试使用:WHERE CONVERT(VARCHAR(10), DATEID, 120) = CONVERT(VARCHAR(10), GETDATE()-1, 120)
  • 我试过你的查询在数据库中工作,它本身但在加载到目标文件时不工作,它作为 0 条记录加载到文件中。请查看以下日志:严重性:INFO 时间戳:9/11/2017 4:23:21 PM 节点:node01_potapld00046 线程:READER_4_1_1 进程 ID:6484 消息代码:RR_4029 消息:SQ 实例表名称用户指定的 SQL 查询 [SELECT COUNT( *) 来自表名 where DateID= CONVERT(VARCHAR(10), GETDATE()-13, 120)]
  • 我试过上面的那个,它只在数据库级别工作。在加载到文件时不工作。
  • 如果查询返回 DB 级别的值,它也应该在 Informatica 中工作...您可以尝试调试源代码吗?
【解决方案2】:

如果昨天加载后还没有加载数据,那么你可以试试下面的查询:

select count(*) from Table_name where DATEID=(select max(dateid) from Table_name)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-11
    • 1970-01-01
    • 1970-01-01
    • 2019-02-13
    • 2016-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多