0

我正在尝试在我的 java 程序中通过 jdbc 对表进行查询。

我知道该表中有三行。

我得到了结果集,可以读取和处理第一行的数据。但是当我尝试将结果集移动到下一行时,就会出现异常。

the exception pointed [SQL0181]
4

2 回答 2

3

您可以使用SQL 消息查找器来查找消息代码。

SQL0181消息文本是:

日期、时间或时间戳字符串中的值无效。

这表明行中有一个值不能表示为 SQL日期时间值。

遗留 HLL 程序引入这些类型的错误并不少见,因为它们能够直接写入表行而无需 SQL 接口强制执行的相同验证。


另请参阅之前提出的 SO 问题:为什么我会收到“[SQL0802] 数据映射错误的数据转换”异常?

于 2012-11-19T05:00:51.500 回答
0

我知道这是一个老问题,但它是 SQL0181 的热门搜索结果,答案是错误的。

问题是正在检索的日期不能以正在使用的日期格式表示。IBM i 允许多种非 ISO 日期格式,它们无法处理时间的开始和结束之类的事情。该错误源于尝试使用其中之一。

您可以更改用户配置文件或在 JDBC 设置上使用 ISO。"jdbc:as400://RHASSLH;日期格式=iso;时间格式=iso;"

参考: http ://www-01.ibm.com/support/docview.wss?uid=nas8N1017268

于 2015-10-12T16:34:22.923 回答