Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle表单在配置WEBUTIL后冻结_Oracle_Oracle10g_Oracleforms_Oracle Fusion Middleware - Fatal编程技术网

Oracle表单在配置WEBUTIL后冻结

Oracle表单在配置WEBUTIL后冻结,oracle,oracle10g,oracleforms,oracle-fusion-middleware,Oracle,Oracle10g,Oracleforms,Oracle Fusion Middleware,我正在使用oracle forms 10g。它是基于web的oracle表单应用程序。我想从Oracle Forms 10g生成Excel报告。我配置了WEBUTIL并使用CLIENT_OLE2包。按下按钮时在触发器中声明的过程。当按下按钮时,表格突然冻结,他们什么也做不了。退出按钮和菜单选项停止工作。它不会发出任何信息,也不会执行任何操作 程序代码: declare application client_ole2.obj_type; workbooks client_ole2.obj_ty

我正在使用oracle forms 10g。它是基于web的oracle表单应用程序。我想从Oracle Forms 10g生成Excel报告。我配置了WEBUTIL并使用CLIENT_OLE2包。按下按钮时在触发器中声明的过程。当按下按钮时,表格突然冻结,他们什么也做不了。退出按钮和菜单选项停止工作。它不会发出任何信息,也不会执行任何操作

程序代码:

declare
 application client_ole2.obj_type;
 workbooks client_ole2.obj_type;
 workbook client_ole2.obj_type;
 worksheets client_ole2.obj_type;
 worksheet client_ole2.obj_type;
 cell client_ole2.obj_type;
 arglist client_ole2.list_type;
 row_num number;
 col_num number;
 fontObj client_ole2.obj_type;

cursor rec is SELECT so.descr saleorgdescr,ih.invdate invdatemaster, ih.docNUM docnum,
   TO_CHAR(ih.invdate,'mon-yyyy') invmonth
FROM ARMINVHEAD ih, SDMSALEORG so
WHERE
ih.status='69'
AND  TO_DATE(ih.INVDATE,'DD-MM-RRRR')
BETWEEN
                   TO_DATE('01-01-2008','DD-MM-RRRR') 
              AND  
                   TO_DATE('01-01-2009','DD-MM-RRRR')
order by IH.INVDATE, ih.docnum;

procedure SetCellValue(rowid number,colid number,cellValue varchar) is
 begin
 arglist := client_ole2.create_arglist;
 client_ole2.add_arg(arglist,rowid);
 client_ole2.add_arg(arglist,colid);
 cell:= client_ole2.get_obj_property(worksheet,'Cells',arglist);
 fontObj := client_ole2.get_obj_property(cell,'Font');
 client_ole2.destroy_arglist(arglist);
 client_ole2.set_property(cell,'value',cellValue);
 client_ole2.set_property(fontObj,'Size',16);
 client_ole2.set_property(fontObj,'BOLD',1);
 client_ole2.set_property(fontObj,'ColorIndex',7);
 client_ole2.release_obj(cell);
end SetCellValue;

procedure app_init is
 begin
 application := client_ole2.create_obj('Excel.Application');
 client_ole2.set_property(application,'Visible',true);
 workbooks := client_ole2.get_obj_property(application,'workbooks');
 workbook := client_ole2.Get_Obj_Property(workbooks,'add');
 worksheets := client_ole2.get_obj_property(application,'worksheets');
 worksheet := client_ole2.Get_Obj_Property(worksheets,'add');
 client_ole2.set_property(worksheet,'Name','Emp Sheet');
end app_init;

procedure save_excel(path varchar,filename varchar) is
 begin
 client_OLE2.Release_Obj(worksheet);
 client_OLE2.Release_Obj(worksheets);
 -- Save the Excel file created
 If path is not null then
   Arglist := client_OLE2.Create_Arglist;
   client_OLE2.Add_Arg(Arglist,path||'\'||file_name||'.xls');
   client_OLE2.Invoke(workbook, 'SaveAs', Arglist);
   client_OLE2.Destroy_Arglist(Arglist);
end if;
end save_excel;

begin
 app_init;
 row_num:=1;
 col_num:=1;
 SetCellValue(row_num,col_num,'saleorgdescr');
 col_num:=col_num + 1;
 SetCellValue(row_num,col_num,'invdatemaster');
 col_num:=col_num + 1;
 SetCellValue(row_num,col_num,'docnum');
 col_num:=col_num + 1;
 SetCellValue(row_num,col_num,'invmonth');
 for i in rec loop
 row_num:=row_num + 1;
 col_num:=1;
 SetCellValue(row_num,col_num,i.saleorgdescr);    
 col_num:=2;
 SetCellValue(row_num,col_num,i.invdatemaster);    
 col_num:=3;
 SetCellValue(row_num,col_num,i.docnum);
 col_num:=4;
 SetCellValue(row_num,col_num,i.invmonth);   
end loop;    
save_excel('C:','emp_data');       
client_OLE2.Release_Obj(workbook);
client_OLE2.Release_Obj(workbooks);
client_OLE2.Release_Obj(application);
end;

最有可能的情况是,您缺少以下两个组之一中列出的文件:

  • frmwebutil.jar
    jacob.jar
    (也可能是
    frmall\u jinit.jar
    \forms\java
    目录中的文件

  • jacob-1.14.3-x86.dll
    jnisharedsubs.dll
    d2kwut60.dll
    C:\ProgramFiles(x86)\Java\jre1.8.0\u xxx\bin
    目录中的文件
假设您的Oracle Fusion中间件主页是
C:\Oracle\u 10g
。如果它们不存在于该目录中,手动将它们移动到该目录就足够了

  • 此外,它们最好以
    CLASSPATH=C:\ORACLE\u 10g\forms\java\jacob.jar的形式包含在
    CLASSPATH中;C:\ORACLE\u 10g\forms\java\frmwebutil.jar

  • 在添加时编辑文件
    C:\ProgramFiles(x86)\Java\jre1.8.0\u xxx\lib\security\Java.policy
    permission java.security.AllPermission到文件底部
    就在最后一个带分号的大括号之前
    }
就在Forms应用程序运行之前,Oracle会提示您对这些文件进行签名。需要使用checking
always
选项对它们进行签名