IBM DataStage:日期时间溢出
IBM DataStage : Datetime overflow
我收到错误 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 语句中确定它,而且我没有看到任何关于日期 length/scale 的错误消息。这只是简单的日期时间溢出。如何解决这个问题?
这是 SELECT 还是 INSERT/UPDATE 语句?
在 SELECT 中出现日期溢出是不常见的,因为它已经是数据库中的日期 table。
在 INSERT/UPDATE 上,提供的值可能太大,数据库服务器无法处理。最大可能日期因数据库不同而不同。
顺便说一句,您不需要为日期数据类型提供长度。它将被忽略。
我收到错误 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 语句中确定它,而且我没有看到任何关于日期 length/scale 的错误消息。这只是简单的日期时间溢出。如何解决这个问题?
这是 SELECT 还是 INSERT/UPDATE 语句?
在 SELECT 中出现日期溢出是不常见的,因为它已经是数据库中的日期 table。
在 INSERT/UPDATE 上,提供的值可能太大,数据库服务器无法处理。最大可能日期因数据库不同而不同。
顺便说一句,您不需要为日期数据类型提供长度。它将被忽略。