【问题标题】:How to use preparedStatement with TeradataFastLoad Utility?如何将preparedStatement 与TeradataFastLoad 实用程序一起使用?
【发布时间】:2017-11-17 12:27:22
【问题描述】:

实际上,我正在尝试使用 PreparedStatement 使用以下查询将数据动态插入 Teradata:

INSERT INTO TABLE(id,name,date) VALUES(?,?,?)

通过使用上述查询,无法将数据加载到 Teradata。 在这里,在上面的查询中,我试图动态地给出所有参数而不进行任何操作。 假设,如果我尝试操纵任何参数,我能够加载数据。

INSERT INTO TABLE(id,name,date) VALUES(?,?,cast(? as timestamp(0))

我不知道为什么会这样?

谁能帮我解决这个问题...

【问题讨论】:

  • date 列具有DATE 数据类型时,由于时间部分,转换将失败。当您将其转换为TIMESTAMP 时,插入将简单地截断时间部分并成功。
  • 虽然也不是日期字段,但如果三个参数都是动态的(?,?,?)不做任何操作,就无法插入数据
  • 输入的数据是什么样子的?
  • 假设我有 id,name,roll 作为preparedstatement的三个参数,i/p数据看起来像1,"Jai",205。而且我需要将所有这三个参数作为动态参数而不是硬编码
  • 205 如何表示时间戳或日期?

标签: jdbc teradata


【解决方案1】:

可能列date 数据类型与插入表不匹配。而且date 也是 Teradata 中的一个关键词

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-24
    • 1970-01-01
    • 2021-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多