error ora 22275 numérico o de valor
Publicado por pamela (1 intervención) el 07/11/2016 07:22:39
hola buenas noches tengo este programa y cuando lo ejecute me marca un error
error ORA-06502: PL/SQL: error: invalid LOB locator specified: ORA-22275 numerico o de valor
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
create or replace procedure load_blob_from_file (
v_directory_name in varchar2,
v_src_file_name in varchar2,
v_table_name in varchar2,
v_blob_column_name in varchar2,
v_pk_column_name in varchar2,
v_pk_column_value in varchar2
) is
--variables
v_src_blob bfile:=bfilename(v_directory_name,v_src_file_name);
v_dest_blob blob;
v_query varchar2(2000);
v_src_offset number := 1;
v_dest_offset number := 1;
v_src_blob_size number;
begin
--abre el archivo
if dbms_lob.fileexists(v_src_blob)=1 and not
dbms_lob.isopen(v_src_blob)=1 then
v_src_blob_size := dbms_lob.getlength(v_src_blob);
dbms_lob.open(v_src_blob,dbms_lob.LOB_READONLY);
else
dbms_output.put_line(v_src_file_name ||' does not exist or it is open');
end if;
--creación de la sentencia sql dinámica
v_query := 'update '||v_table_name||' set '||v_blob_column_name
||'= empty_blob() where '||v_pk_column_name||'='''||v_pk_column_value
||''' returning '||v_blob_column_name||' into :locator';
dbms_output.put_line(v_query);
--ejecuta el query dinámico
execute immediate v_query using out v_dest_blob;
--lee el archivo y escribe en el blob
dbms_lob.loadblobfromfile(
dest_lob => v_dest_blob,
src_bfile => v_src_blob,
amount => dbms_lob.getlength(v_src_blob),
dest_offset => v_dest_offset,
src_offset => v_src_offset
);
--cerrando blob
dbms_lob.close(v_src_blob);
--commit
if v_src_blob_size = dbms_lob.getlength(v_dest_blob) then
commit;
dbms_output.put_line('done '|| v_src_blob_size || ' bytes.' );
else
dbms_output.put_line('blob creation failed.');
raise dbms_lob.operation_failed;
end if;
end load_blob_from_file;
/
error ORA-06502: PL/SQL: error: invalid LOB locator specified: ORA-22275 numerico o de valor
Valora esta pregunta


0