在powerbuilder 12.0中多次执行oracle过程

Posted

技术标签:

【中文标题】在powerbuilder 12.0中多次执行oracle过程【英文标题】:Execution of oracle procedure multiple times in powerbuilder 12.0 【发布时间】:2012-09-07 09:01:02 【问题描述】:

我在 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

【问题讨论】:

【参考方案1】:

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

close PROC_FILE_EXISTS;

【讨论】:

【参考方案2】:

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

【讨论】:

以上是关于在powerbuilder 12.0中多次执行oracle过程的主要内容,如果未能解决你的问题,请参考以下文章

powerbuilder 中pbl,pbt,pbd分别是做啥用的

Ionic启动时提示:The Angular CLI requires a minimum Node.js version of eithor v10.13 or v12.0

PowerBuilder -- 调试(Debug)

PowerBuilder -- 其他

powerbuilder中怎样新建一个pbl文件

1002 PowerBuilder 12.5 安装指南