【问题标题】:Informix error when calling a procedure调用过程时出现 Informix 错误
【发布时间】:2015-04-22 23:07:41
【问题描述】:

最近我克隆了一个 informix 数据库服务器。我创建了一个名为 sp_foo 的新存储过程。

当我运行下面的 SQL 来执行一个过程时

EXECUTE PROCEDURE sp_foo();

调用存储过程时出现以下错误。

Error: The system command cannot be executed or it exited with a non-zero status. (State:S1000, Native Code: FFFFFD64)

我对为什么会收到此错误感到有些困惑。 INFORMIX 没有给我任何额外的数据来找出导致问题的原因。

PS:我是 INFORMIX 的新手,我正在使用 WinSQL/Informix ODBC 来运行 SQL。此外,当我在原始服务器中运行 SQL 时,也没有出现任何错误。

【问题讨论】:

    标签: informix winsql


    【解决方案1】:

    很难给出一个明确的答案,但它确实看起来像是权限或环境问题。 SP 内的SYSTEM() 调用正在尝试执行操作系统命令,但它要么无法找到它,要么失败。

    当您在服务器上运行 SP 时它可以工作这一事实向我表明:

    1. 通过 ODBC 执行时,它在具有不同权限的不同用户帐户下运行,或者
    2. SYSTEM() 调用正在执行的命令依赖于在服务器上调用脚本时存在的环境变量,但在通过 ODBC 调用时不存在。

    我怀疑后者的可能性更大。

    【讨论】:

    • 我的存储过程有一个运行 shell 脚本的 SYSTEM 命令。那是抛出一些错误。不幸的是,错误消息没有帮助,或者至少我不知道如何解释它。
    猜你喜欢
    • 2021-08-22
    • 2015-11-17
    • 1970-01-01
    • 2012-06-01
    • 2013-09-16
    • 2018-02-09
    • 1970-01-01
    • 2021-08-24
    • 2020-02-15
    相关资源
    最近更新 更多