【问题标题】:Get error message with date field in Informatica when the workflow is run运行工作流时在 Informatica 中获取带有日期字段的错误消息
【发布时间】:2019-07-19 18:02:03
【问题描述】:

当我尝试将日期字段从源限定符链接到 Informatica 中的目标表时,出现以下错误: 错误 2019 年 7 月 19 日上午 9:05:26 node01_dev WRITER_1_*_1 WRT_8229 发生数据库错误: FnName: Execute -- [Informatica][ODBC SQL Server Wire Protocol driver]带零刻度的时间戳参数必须具有 13、16 或 19 的精度。参数编号:1,精度:12。 FnName: Execute -- [DataDirect][ODBC lib] 函数序列错误

我用另一个工作流做了同样的事情(使用日期时间作为目标)并且它运行成功。

我已在互联网上搜索此错误消息,但我搜索的解决方案均未解决问题。

目标表 SA_Cases 需要将数据插入其中。现在,监视器显示所有行都被拒绝了。

源是 Oracle 中的一个表。目标是 Microsoft SQL Server 中的表

enter image description here enter image description here

这是有效的映射enter image description here

【问题讨论】:

  • 有问题的会话和已知好的会话之间的会话时间戳精度是否相同?源定义是否设置为使用相同的 odbc 驱动程序?当使用旧的 odbc 驱动程序时,我们之前遇到过 oracle 时间戳精度不够高的问题。
  • 您说得对,这与 Oracle 时间戳没有足够高的精度有关。我不知道如何解决这个问题。会话时间戳精度在有效会话和有问题会话中完全相同。
  • 我认为这必须是源>日期字段中的精度与目标>日期字段的精度不同。 source>date 字段来自 Oracle,日期类型为“date”,而 target>date 字段来自 MIcrosoft SQL,日期类型为“datetime”。
  • 您能否使用映射调试器来验证在好映射和坏映射之间从 oracle 源表中出来的日期的精度是否相同?我认为创建源时驱动程序不一样,这可能会导致您没有毫秒精度。这是 datadirect 版本之间的一个已知问题。

标签: datetime target informatica


【解决方案1】:

作为目标表的 SA_Cases 表包含带空格的字段。我用下划线替换了空格,它可以工作。问题在于字段名称中的空格。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-02
    • 2022-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多