Как выполнить системную команду внутри хранимой процедуры informix? - PullRequest
1 голос
/ 08 октября 2019

Мне нужно выполнить команду os внутри SPL informix. Мой экземпляр Informix работает на компьютере Solaris. Я пытался с помощью следующих кодов. Но дает ниже упомянутую ошибку. Пожалуйста, исправьте меня.

  CREATE PROCEDURE log_message (message VARCHAR(70))

    DEFINE os_command VARCHAR(100);

    -- Output message to log file
    LET os_command = 'ls -ltrh /informix/nuwan/' || message || ' >> /informix/nuwan/test/data.log';

    SYSTEM os_command;

  END PROCEDURE;

Затем я вызвал процедуру следующим образом:

 CALL log_message('Test message...');

ниже выдается ошибка

668: Системная команда не может быть выполненаили он вышел с ненулевым статусом. 2: Нет такого файла или каталога

1 Ответ

1 голос
/ 10 октября 2019

Используйте оператор SYSTEM для выдачи команды операционной системы из подпрограммы SPL. https://www.ibm.com/support/knowledgecenter/en/SSGU8G_14.1.0/com.ibm.sqls.doc/ids_sqs_1358.htm

...