SSIS 在另一台服务器上查询 Oracle 数据库时选择了错误的日期

问题描述 投票:0回答:1

通过 SQL Server 代理运行 SSIS etl 包并使用时间/日期(预期日期为当前日期减 1)对另一台服务器中的 Oracle 数据库进行过滤时,查询返回早于 5 个月的日期,而直接在 Oracle 上执行的相同查询运行良好

以下是查询

select
to_char(id) id,
to_char(packno) packno,
to_char(TIME, 'DD-MM-YYYY HH:MI:SS')TIME, 
to_char(TYPE) TYPE,
to_char(AMOUNTORIG)AMOUNTORIG,
to_char(AUTHFIID)AUTHFIID,
to_char(ORIGUNIT)ORIGUNIT
from bab.tla
where packno between (to_nchar(sysdate-2, 'YYMMDD')) || '001' and (to_nchar(sysdate-0, 'YYMMDD')) || '017'
and time 
between 
to_date(to_nchar(trunc(sysdate-1), 'dd-mon-yyyy hh24:mi:ss'),'dd-mon-yyyy hh24:mi:ss') and
to_date(to_nchar(sysdate-1, 'dd-mon-yyyy') || ' 23:59:59','dd-mon-yyyy hh24:mi:ss')
oracle ssis etl sql-server-agent sysdate
1个回答
0
投票

已解决。问题是临时表意外更改为流程中的旧表。虽然正确的暂存表在工作流程开始时被截断,但包含较旧数据的错误表会添加到流程内的查询中

© www.soinside.com 2019 - 2024. All rights reserved.