Oracle FgetAttr

Kluvanek Martin kluvanek na tesnet.cz
Úterý Říjen 28 01:33:45 CET 2003


Pomooooc. Uz som z toho Oracle cely deprimovany....
Oracle 9i pod WIN NT 4.00 WS pripadne WIN2000

Napisal som si funkciu
create or replace function file_exists(dir in varchar2, fname in varchar2) 
return boolean is
   Result boolean;
flen number;
bsize binary_integer;
begin
   result:=false;
   utl_file.fgetattr(location => dir,filename => fname,fexists => 
Result,file_length => flen, block_size => bsize);
   return(Result);
end file_exists;

Vracia to true ked subor existuje a NULL ked neexistuje.

Ked to zavolam takto:
result = file_exists(dir => dir,fname => fname);
a dir='POKUS'
a fname='qq.txt'
tak to funguje.

Ked ale presuniem ten subor qq.txt do podadresara adr:
a fname='\adr\qq.txt' (u BFILE to takto funguje )
tak to hlasi ze subor neexistuje.

Ked ale
fname='\adr\qq.txt'
a subor presuniem naspat o uroven vyssie (do adresara, kam ukazuje DIR='POKUS')
tak to hlasi ze '\adr\qq.txt' existuje i ked to je vlastne v 'qq.txt'
Je vlastne jedno ci tam tie lomitka mam alebo nie, vzdy sa to diva ako keby nic 
okrem mena suboru (bez adresarovej cety) nebolo zadane.
Proste to ten fgetattr vyseparuje meno subora bez cesty a zbytok zahodi...

Stejne sa tvari i utl_file.fremove a predpokladam, ze i Frename


-- 
Martin Kluvanek
ved.odd. vyvoje (head of development department)
TES s.r.o
Testovani Energetickych Systemu (Testing of Energetical Systems)

Prazska 597
674 01 Trebic
Czech republic
tel:568 8384 28  (+420 5688384 28)
fax:568 8384 27  (+420 5688384 27)
homepage: http://www.tesnet.cz



Další informace o konferenci Test