1

我在 oracle 中编写了一个存储过程来检查天气给定的输入文件名是否存在于定义的路径中。它工作正常。当我在 power-builder 12.0 中调用此过程时,我进行了这样的测试。我第一次输入错误的文件名它工作正常。然后我输入了正确的文件名,它表示程序已经执行。我怎样才能再次重新执行此过程。我在包中声明程序的代码是

 DECLARE PROC_FILE_EXISTS PROCEDURE FOR 

HICSWIN_ORACLE.PACK_UPDATE_TSHML_HICSWIN20.PROC_CHECK_FILES_RELEVANCE  
(  
         FILE_NAME => :as_file_name  
)  ;


EXECUTE PROC_FILE_EXISTS;

IF SQLCA.SqlCode < 0 THEN
    MessageBox('eroor',SQLCA.SQLErrText)
    MessageBox('Connection failed','An error occured while connecting to database, please contact your administrartor')
    RETURN 0
end if

仅供参考,我正在使用带有 oracle 11g 的 Windows 7

4

2 回答 2

4

您需要关闭过程调用(以类似于游标的方式使用:Declare/// ):OpenFetchClose

close PROC_FILE_EXISTS;
于 2012-09-07T09:22:10.970 回答
1

从数据存储中调用它。使用存储过程源和字符串检索参数创建一个新的 dw。PB 自动包含所有适当的游标语法。调用 Oracle SP 可能更复杂 - 我相信你必须返回一个引用光标才能从 dw 调用一个 ...

于 2012-09-07T19:44:29.423 回答