Encountering an interesting issue.
Server is: 12.10.FC12
When invoking an SPL procedure from a remote client which calls the routine:
create procedure system_test()
system 'echo "Hello"';
I get the following error:
SQL error = -668 ISAM error = 0 error string = = ""
It doesn't really matter what command I invoke via SYSTEM, I always get the same error.
This only occurs when I invoke the above when connecting "remotely", either via JDBC or the native Informix driver.
However, when I jump onto the server, logging in as the same user, and run the same proc inside a dbaccess session it works fine.
So, when I traced the ADM VP, I noticed that it was doing a chdir() to what appears to be the HOME directory when SYSTEM is called "locally":
[pid 3095] chdir("/home/informix") = 0
However, when the client calls SYSTEM remotely, it fails because it tries changing to the directory the client is executed/run from:
[pid 3128] chdir("C:\\Some\\Windows\\Directory\\Informix\\Client") = -1 ENOENT (No such file or directory)
I'm not sure if this is a "feature" on Linux, or whether I haven't provisioned the Informix server correctly to use an appropriate "chdir()" directory.
I have tried creating the same Windows directory on the server, however, it's not an absolute Linux path, so not sure where the directory should actually be placed (I might experiment...).
Any ideas would be greatly appreciated.