gpt4 book ai didi

db2 - SQLState 02000 没有找到 FETCH、UPDATE 或 DELETE 的行

转载 作者:行者123 更新时间:2023-12-04 16:48:19 25 4
gpt4 key购买 nike

我正在使用 DELETE then INSERT 连接器通过 Datastage 运行作业。由于此错误,我有几项工作失败了:

DB2_Connector:  DB2 reported:  SQLSTATE = 02000 Native Error Code = 100, Msg = IBM[CLIDriver][DB2/NT64] SQL01000W No row was found for FETCH, UPDATE, or DELETE

当我直接在 DB2 中运行 Data Studio 中的 delete 语句时,它给出了同样的错误,所以我知道这是 DB2 错误,而不是 Datastage 错误。

有没有办法抑制 Datastage 中的消息,或者当我在 DB2 中运行语句时,有没有办法阻止该消息出现?它现在因 fatal error 停止了我的 DS 作业,并且没有继续加载。

必须有一种方法可以关闭消息。我知道在 SQL Server 中如果没有找到任何行它不会给出这个错误,它只是说零或不返回记录但是在 DB2 中这个错误出现并且我不确定是否有办法将其关闭.

最佳答案

首先,您似乎对什么是error 以及什么是message 是。

  • 错误是出现错误的时候。

  • 消息是指当某些软件足够好地让您知道出现问题时。

由此可见,抑制消息对实际错误没有任何影响。您的软件不是因为消息而失败,而是因为出现问题而导致软件失败。收到有关它的消息实际上是一件好事:另一种选择是您的软件出现故障,而您却没有得到任何关于问题所在的线索。

抑制或以其他方式忽略错误就像把头埋在沙子里:你最终还是要当饭吃。

因此,您需要消除的是错误,而不是消息。

这意味着您必须弄清楚自己做错了什么。

幸运的是,您收到的消息会提示您做错了什么,但您必须记住,消息有时会产生误导。

SQLState 02000 不是错误,而是警告。 (注意 DB2_Connector 不是说 ERROR!!!1!:,而是说 DB2 reported:。)幸运的是,当 JDBC 检测到可能具有指示性的情况时会发出警告错误;有很多软件会忽略 JDBC 警告(实际上是把头埋在沙子里,多好啊),但幸运的是 DB2_Connector 报告了它们。

这意味着两件事情中的一件出了问题:

  • 您认为如果没有找到行也没关系的假设是错误的,并且没有找到行的事实是问题的原因,这意味着您必须以某种方式确保找到一些行,或者

  • 您假设没有找到任何行也没关系是正确的,在这种情况下,报告的警告与手头的问题完全无关,因此可以安全地忽略它,您必须查看别处的问题。

关于db2 - SQLState 02000 没有找到 FETCH、UPDATE 或 DELETE 的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34138013/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com