在 Oracle Forms 触发器中,我使用 host 命令在文件服务器上创建一个目录。我的这部分代码的示例如下:
主机('mkdir'||:GLOBAL.DIRECTORY_PATH||'\FERTILIZER\'||ADDY);
如果未在服务器上创建目录,我需要将错误代码返回给我。我需要添加的代码有什么建议吗?
谢谢你。
在 Oracle Forms 触发器中,我使用 host 命令在文件服务器上创建一个目录。我的这部分代码的示例如下:
主机('mkdir'||:GLOBAL.DIRECTORY_PATH||'\FERTILIZER\'||ADDY);
如果未在服务器上创建目录,我需要将错误代码返回给我。我需要添加的代码有什么建议吗?
谢谢你。
如果您正在寻找实际的操作系统级别错误代码,那么您就不走运了。Jeffrey Kemp的上述回答 是您将得到的最好的答案。
如果您遇到故障,请记住内置的 HOST 运行在实际运行表单的机器上(通常是应用程序服务器)。因此,您的命令必须对应用服务器的特定操作系统有效。
此外,您可能已经发现这一点,在您的示例中,'mkdir'||:GLOBAL.DIRECTORY_PATH||'\FERTILIZER\'||ADDY
可能会导致您的命令在命令mkdir
和字符串之间没有空格,从而导致命令失败。
FORM_SUCCESS
如果命令因任何原因失败,将返回FALSE
(除非您使用的是 Windows 95,在这种情况下它仍会返回TRUE
)。
HOST('...');
IF NOT FORM_SUCCESS THEN
MESSAGE('something went wrong');
END IF;
您仍然可以使用此语句 HOST(vCommand || ' > error.txt'); 得到错误消息。