调用过程时出现 Informix 错误

Informix error when calling a procedure

最近我克隆了一个 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 时,没有错误。

很难给出明确的答案,因为没有什么可继续的,但它肯定看起来像权限或环境问题。 SP 内部的 SYSTEM() 调用正在尝试执行操作系统命令,但它要么无法找到它,要么正在失败。

当您在服务器上 运行 SP 工作时,事实向我表明:

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

我怀疑后者更有可能。