我正在使用Oracle数据库11GR2与Oracle Forms 11gr2。我在服务器计算机上保存了PDF文件。我创建了使用名称"帮助"手册PDF文件的按钮。现在,我想要当用户单击其本地计算机上的按钮时,然后从服务器计算机打开PDF文件。
我找到了此代码:
host('rundll32 url.dll,FileProtocolHandler c:file_name.pdf');
此代码运行正确吗?Oracle Forms 11G
您可以在形式中创建这样的过程:
Procedure Pr_Print( i_document varchar2 ) Is
pl_id paramlist;
pl_list paramlist;
my_rep_server varchar2(500);
Begin
pl_list := Get_Parameter_List('tmpdata');
if not Id_Null(pl_list) then
Destroy_Parameter_List(pl_list);
end if;
pl_list := Create_Parameter_List('tmpdata');
set_report_object_property('RP2RRO', report_filename, i_document );
set_report_object_property('RP2RRO', report_server, my_rep_server);
add_parameter(pl_id, 'column1', text_parameter, :col1 );
add_parameter(pl_id, 'column2', text_parameter, :col2 );
rp2rro.rp2rro_run_product(reports, i_document, synchronous, runtime,
filesystem, pl_id, null);
End;
其中 rp2rro.rp2rro_run_product
是来自 rp2rro.pll
的方法( oracle 提供的二进制库模块),假设您中有col1
和col2
文本字段。
并用代码从按钮的WHEN-BUTTON-PRESSED
触发触发它:
Pr_Print('myDocument');
P.S。也应在应用程序服务器中安装和配置库rp2rro.pll
。由于Reports 11g
在应用程序上运行。服务器作为基于Web的应用程序。
我认为您可以在WHEN-BUTTON-PRESSED
触发器中使用WEB.SHOW_DOCUMENT(url,’_blank’);