Avatar billede mundt Nybegynder
16. oktober 2001 - 13:42 Der er 4 kommentarer og
1 løsning

Undersøge om en fil eksisterer

Jeg skal undersøge om en fil eksisterer, på min oracle server maskine.

Til dette har jeg lavet nedenstående procedure:

CREATE OR REPLACE PROCEDURE zzz_Get_Filename IS

    filTest BFILE;
BEGIN
    filTest := BFILENAME (\'STOPLIST\', \'Oppcarte.573\');
      dbms_output.PUT_LINE(\'Det lykkedes\');
      dbms_output.Put_line(to_char(dbms_lob.fileexists(filTest)));

END;

Directory STOPLIST har jeg oprettet med nedenstående kommando i SQLPLUS 8.0

CREATE DIRECTORY STOPLIST AS \'\\\\Sv-arkiv\\arkiv\\files\\\';

Og efterfølgende givet rettigheder:

grant read on directory stoplist to arkiv;

Linien <dbms_output.Put_line(to_char(dbms_lob.fileexists(filTest)));> i min stored procedure bliver ved med at returnere 0, altså påstår den at filen ikke eksisterer.

Jeg har prøvet at oprette forskellige directories, men det ser ud til at den ikke får fat i det rigtige.

Jeg har prøvet følgende:

1) CREATE DIRECTORY STOPLIST AS \'/files\';
2) CREATE DIRECTORY STOPLIST AS \'c:\\files\';
3) CREATE DIRECTORY STOPLIST AS \'\\\\Sv-arkiv\\arkiv\\files\';

Det skal siges at jeg har lagt filen som skal læses Oppcarte.573 over på Oracle serveren, men jeg har kun tilslutet mig serveren via MS explorer så jeg ved faktisk ikke om filen nu ligger på serveren c, d, e, osv. drev.

Kan nogen hjælpe?

Avatar billede mundt Nybegynder
16. oktober 2001 - 14:03 #1
Yderligere har jeg brug for at kunne hente filnavnet ind i mit PL/SQL-script og teste på filnavnets type. F.eks. om filen Oppcarte.573\'s type er 574 etc..
Avatar billede teepee Nybegynder
16. oktober 2001 - 15:13 #2
Har du sørget for at der i init.ora filen står at Oracle må læse i dette bibliotek evt. i alle biblioteker?
Avatar billede mundt Nybegynder
16. oktober 2001 - 15:23 #3
Jeg har fundet ud af den eksakte sti og det virker nu.

Et andet hurtigt spørgsmål du måske lige kan svare på er hvorledes hvordan man klipper noget ud af en streng.

F.eks. 573 skal klippes ud af strengen Oppcarte.573
Avatar billede teepee Nybegynder
16. oktober 2001 - 15:27 #4
substr(\'abcdefg.hijk\',instr(\'abcdefg.hijk\',\'.\')+1) er lig \'hijk\'
Avatar billede mundt Nybegynder
16. oktober 2001 - 15:32 #5
Tak, det virker! :o}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester