调用过程时出现Informix错误
问题描述:
最近我有一个克隆的informix数据库服务器。我创建了一个名为sp_foo的新存储过程。调用过程时出现Informix错误
当我运行下面的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工作的事实表明,我认为无论是:
- 当通过ODBC
- 将执行其下具有不同权限的不同的用户帐户运行,或由
SYSTEM()
调用执行的命令依赖于在调用服务器上的脚本时存在的环境变量,但在通过ODBC调用时不存在。
我怀疑后者更可能。
我的存储过程有一个运行shell脚本的SYSTEM命令。这是抛出一些错误。不幸的** **错误消息**没有帮助,或者至少我不知道如何解释它。 – nJoshi