首页 > 解决方案 > IBM DataStage:日期时间溢出

问题描述

我收到错误消息ODBC_Connector_14,0: ODBC function "SQLExecute" reported: SQLSTATE = 22008: Native Error Code = 0: Msg = [IBM (DataDirect OEM)][ODBC SQL Server Driver]Datetime field overflow (CC_OdbcDBStatement::executeInsert, file CC_OdbcDBStatement.cpp, line 834)。我的输入数据类型是源中的日期,我使用 select 语句,源的输出我将其设置为长度和比例 = 0 的日期列,在数据库中我也将它们的长度和比例设置为 0,但不知何故它没有消除错误,并且不知何故并非所有记录都输入到数据库中。实际上有什么问题?如果它确实需要长度和比例,我不知道如何从 select 语句中确定它,我也没有看到任何关于日期长度/比例的错误消息。这只是简单的日期时间溢出。如何解决这个问题?

标签: datastageibm-infosphere

解决方案


这是 SELECT 还是 INSERT/UPDATE 语句?

在 SELECT 中出现日期溢出是不常见的,因为它已经是数据库表中的日期。

在 INSERT/UPDATE 上,可以提供一个对于数据库服务器来说太大而无法处理的值。不同数据库的最大可能日期不同。

顺便说一句,您不需要为 Date 数据类型提供 Length。它将被忽略。


推荐阅读