datastage - 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 语句中确定它,我也没有看到任何关于日期长度/比例的错误消息。这只是简单的日期时间溢出。如何解决这个问题?
解决方案
这是 SELECT 还是 INSERT/UPDATE 语句?
在 SELECT 中出现日期溢出是不常见的,因为它已经是数据库表中的日期。
在 INSERT/UPDATE 上,可以提供一个对于数据库服务器来说太大而无法处理的值。不同数据库的最大可能日期不同。
顺便说一句,您不需要为 Date 数据类型提供 Length。它将被忽略。
推荐阅读
- php - 如何获取表中行的特定 ID 并使用该 ID 更新它
- android - 颤振授予权限未显示
- jhipster - jhipster 升级在 Windows 10 上再次失败
- javascript - 如何在 React 中修改 Bool 数组的值?
- php - Update database when user is no more online
- sql - 使用 SQL Server 2016 SPLIT_STRING
- python - Networkx - 找到加权网络中出现次数最多的路径
- php - 作为函数的结果,php将关联数组放置在正常数组中
- php - 如何在不知道 $row 像 phpmyadmin 的情况下将 mysql 表数据输出到 html 表中
- android - 错误:包 rx.android.schedulers 不存在