Oracle - UTL_FILE

 
Vista:
sin imagen de perfil

UTL_FILE

Publicado por EDGAR (1 intervención) el 26/04/2018 17:46:26
ESTOY APRENDIENDO Y TENGO QUE INSERTAR DATOS DESDE UN ARCHIVO DE TEXTO, ME ARROJA ESTE ERROR
ORA-06502: PL/SQL: error : character to number conversion error numérico 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
DECLARE
    oso          utl_file.file_type;
    l_location   VARCHAR2(100) := 'DAT_DIR';
    l_file       VARCHAR2(100) := 'oso1.txt';
    s            VARCHAR2(200);
    v_row        VARCHAR2(2000);
    v1           NUMBER (38);
    v2           VARCHAR2(255);
    v3           NUMBER (30);
BEGIN
    oso := utl_file.fopen(l_location,l_file,'r');
    IF
        utl_file.is_open(oso)
    THEN
        LOOP
            BEGIN
                utl_file.get_line(oso,v_row);
                v1 := substr(v_row,1,2);
                v2 := substr(v_row,4,11);
                v3 := substr(v_row,13,18);
                INSERT INTO OSOLIBRE (
                    idoso,
                    nombre,
                    salario
                ) VALUES (
                    v1,
                    v2,
                    v3
                );
 
            EXCEPTION
                WHEN no_data_found THEN
                    EXIT;
            END;
        END LOOP;
 
        COMMIT;
    END IF;
 
END;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de gilman
Val: 117
Bronce
Ha mantenido su posición en Oracle (en relación al último mes)
Gráfica de Oracle

UTL_FILE

Publicado por gilman (52 intervenciones) el 27/04/2018 08:45:06
Sin conocer exactamente la estructura concreta del archivo de texto, lo que me parece es que la sentencia
1
v3 := substr(v_row,13,18);
debería quedar:
1
v3 := substr(v_row,16,18);

Pero sin conocerla no podría asegurarlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar