1

在 Oracle Forms 触发器中,我使用 host 命令在文件服务器上创建一个目录。我的这部分代码的示例如下:

主机('mkdir'||:GLOBAL.DIRECTORY_PATH||'\FERTILIZER\'||ADDY);

如果未在服务器上创建目录,我需要将错误代码返回给我。我需要添加的代码有什么建议吗?

谢谢你。

4

3 回答 3

2

如果您正在寻找实际的操作系统级别错误代码,那么您就不走运了。Jeffrey Kemp的上述回答 是您将得到的最好的答案。

如果您遇到故障,请记住内置的 HOST 运行在实际运行表单的机器上(通常是应用程序服务器)。因此,您的命令必须对应用服务器的特定操作系统有效。

此外,您可能已经发现这一点,在您的示例中,'mkdir'||:GLOBAL.DIRECTORY_PATH||'\FERTILIZER\'||ADDY 可能会导致您的命令在命令mkdir和字符串之间没有空格,从而导致命令失败。

于 2010-10-07T18:33:04.853 回答
2

FORM_SUCCESS如果命令因任何原因失败,将返回FALSE(除非您使用的是 Windows 95,在这种情况下它仍会返回TRUE)。

HOST('...');
IF NOT FORM_SUCCESS THEN
  MESSAGE('something went wrong');
END IF;
于 2010-09-17T03:05:36.177 回答
1

您仍然可以使用此语句 HOST(vCommand || ' > error.txt'); 得到错误消息。

于 2010-12-09T16:28:46.943 回答