使用Oracle Forms将CSV文件列数据导入数据块

时间:2019-04-01 06:18:39

标签: oracle oracle11g oracle10g oracleforms oracle-fusion-middleware

我想将“ CSV”文件列数据读取到Oracle Forms Data Block中。按下按钮时我有代码,然后什么也没有发生。如何解决这个问题呢?我正在使用Oracle Forms Application 11g

代码:

Declare

in_file   Client_Text_IO.File_Type;
linebuf   VARCHAR2(1800); 
BEGIN

in_file := client_Text_IO.Fopen(:WE_GROUP.FILE, 'r');  

LOOP
Client_Text_IO.Get_Line(in_file, linebuf); 
p_output_line(linebuf);
Client_Text_IO.New_Line; 

END LOOP; 

EXCEPTION
WHEN no_data_found THEN
Client_Text_IO.Put_Line('Closing the file...');
Client_Text_IO.Fclose(in_file);
END;

程序代码:

PROCEDURE p_output_line(p_line varchar2) IS 
 vLINE VARCHAR2(4000);
 vVALUE VARCHAR2(1000); 
 vCOMMA_COUNT NUMBER;

BEGIN                    
 vLINE := p_line;
 vCOMMA_COUNT := LENGTH(vLINE)- LENGTH(REPLACE(vLINE,',','')); -- COUNT THE NUMBER OF COMMAS
FOR I IN 1.. vCOMMA_COUNT+1 LOOP  
vVALUE := SUBSTR(vLINE,1,INSTR(vLINE,',')-1);                             -- IF vLINE = 123,ABC,9877 THEN VVALUE WILL BE  123
IF vVALUE IS NULL THEN
    vVALUE := vLINE;
END IF;    
vLINE := SUBSTR(vLINE,INSTR(vLINE,',')+1) ;                              -- CHANGE   123,ABC,9877 TO BE   ABC,9877  

END LOOP; 
EXCEPTION
WHEN NO_DATA_FOUND THEN
MESSAGE('Please Check the data type is appropriate on you excel file');
MESSAGE('Please Check the data type is appropriate on you excel file');
END; 

0 个答案:

没有答案