Oracle Forms - 主机命令 - 返回错误代码

时间:2010-09-16 18:42:42

标签: oracle dos oracleforms

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

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

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

谢谢。

3 个答案:

答案 0 :(得分:2)

如果命令因任何原因失败,

FORM_SUCCESS将返回FALSE(除非您使用的是Windows 95,在这种情况下它仍会返回TRUE)。

HOST('...');
IF NOT FORM_SUCCESS THEN
  MESSAGE('something went wrong');
END IF;

答案 1 :(得分:2)

如果您正在寻找实际的操作系统级别错误代码,那么您运气不好。上述答案来自Jeffrey Kemp 是你会得到的最好的。

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

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

答案 2 :(得分:1)

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