14.11.2013 14:29
whitewizard
 
Пфффф
Код:
exec readfile('c:\!', 'imp.txt');
в imp.txt
Код:
WI,00000012
WO,00000123
14.11.2013 14:46
OlegON
 
сделай нормальную директорию, например, test и
Код:
exec readfile('c:\test\', 'imp.txt');
14.11.2013 14:56
bayan
 
Код:
create directory TEMP_DIR as 'u/oracle/tmp/;
grant read on directory TEMP_DIR to bayser;
Код:
declare 
cn varchar2(25);
v_file UTL_FILE.FILE_TYPE;
BEGIN
v_file := UTL_FILE.FOPEN('TEMP_DIR','111.txt','r');
LOOP
        begin
        UTL_FILE.GET_LINE(v_file,cn); 
        dbms_output.put_line(''||cn||'');
        exception
        WHEN NO_DATA_FOUND THEN EXIT;
        end;
        end loop;
UTL_FILE.FCLOSE(v_file);
END;
всё ок работает
14.11.2013 15:06
OlegON
 
кстати, да, exception можно не перехватывать и посмотреть ошибку поподробнее...
14.11.2013 15:23
whitewizard
 
Цитата:
bayan
Код:
create directory TEMP_DIR as 'u/oracle/tmp/;
grant read on directory TEMP_DIR to bayser;
Код:
declare 
cn varchar2(25);
v_file UTL_FILE.FILE_TYPE;
BEGIN
v_file := UTL_FILE.FOPEN('TEMP_DIR','111.txt','r');
LOOP
        begin
        UTL_FILE.GET_LINE(v_file,cn); 
        dbms_output.put_line(''||cn||'');
        exception
        WHEN NO_DATA_FOUND THEN EXIT;
        end;
        end loop;
UTL_FILE.FCLOSE(v_file);
END;
всё ок работает
Это то здорово, но как мне TEMP_DIR в процедуру передать?
14.11.2013 15:31
OlegON
 
Вот я лажанулся-то, отвлекают сильно. Но TEMP_DIR, это не директория, а DIRECTORY оракловая. Т.е. придется с каким-то фиксированным набором работать, создав их заранее, либо двинуться в сторону блокировок приложения и создавать/убивать директорию на месте.
14.11.2013 15:35
whitewizard
 
Иначе никак файл не почитать? Только вот так через анус?
14.11.2013 15:37
OlegON
 
Почему анус? Сделай общую директорию на всех?
14.11.2013 15:46
whitewizard
 
Вот совсем ничего на ночь глядя не понял.
Скажи понятным языком, пожалуйста.
14.11.2013 16:02
OlegON
 
Давай, чтобы я на твою ночь глядя все варианты не перебирал, ты скажешь, почему тебе в процедуру надо передавать директорию?
Часовой пояс GMT +3, время: 06:47.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.