Avatar billede Lasse Novice
08. juni 2001 - 23:42 Der er 12 kommentarer og
1 løsning

dbms_lob

Jeg prøver at bruge \"package\" dbms_lob. Heri ligger en funktion som skulle kunne tjekke om hvorvidt en fil eksisterer. Denne hedder fileexists(bfile). Når jeg prøver at eksikvere den, får jeg at vide at komponenten FILEEXISTS ikke eksisterer endnu.

Derefter kigger jeg i all_objects og konstaterer at den ligger i denne tabel. Hvad kan der være galt her? Skal man slå et eller andet til?\'

HJÆÆÆLP!
Avatar billede Lasse Novice
09. juni 2001 - 00:59 #1
men jeg har adgang til DBMS_LOB.OPEN!!!!!
Avatar billede Lasse Novice
09. juni 2001 - 01:14 #2
Det virker som om nogen af procedurerne i pakken DBMS_LOB ikke er defineret... er der nogen som oplever samme problem, eller gør jeg noget forkert.
Avatar billede Lasse Novice
09. juni 2001 - 01:23 #3
hmm, jeg har fundet ud af at FILEEXISTS er en function, imens de andre jeg prøver at køre(dem der virker) er procedurer.....!!!
Avatar billede Slettet bruger
09. juni 2001 - 01:53 #4
ang. all_objects--> Du behøver ikke at kigge i all_objects. I SQL*Plus kan du skrive DESCRIBE DBMS_LOB, eller endnu kortere: DESC DBMS_LOB.
Avatar billede Slettet bruger
09. juni 2001 - 01:57 #5
Hvordan bruger du funktionen?

Du skal skrive noget i retning af

CREATE OR REPLACE PROCEDURE Example_6 IS
    fil BFILE;
BEGIN
    SELECT f_lob INTO fil FROM lob_table WHERE key_value = 99;
    dbms_output.put_line(dbms_lob.fileexists(fil));
END;
/

Og, såfremt \'serveroutput\' er sat til \'on\' skulle funktionen svare med et 1. Ellers får du et 0.

Se fx. manual på http://technet.oracle.com/doc/oracle8i_816/server.816/a76936/dbms_lo2.htm#1009058

Avatar billede Slettet bruger
09. juni 2001 - 01:58 #6
UPS! Jeg klipper og klistrer lidt for hurtigt.

Der skal naturligvis ikke stå \'CREATE OR REPLACE PROCEDURE Example_6 IS\', men bare \'DECLARE\' på første linie
Avatar billede Lasse Novice
09. juni 2001 - 02:22 #7
ok... men der kommmer ikke noget output... jeg kunne forestille mig at \'serveroutput\'  ikke er sat til on... hvordan går man det?

Jeg har bare eksekveret det der stykke kode... men der kommer ikke noget output.... jeg har selvfølgelig tilpasset proceduren...

Avatar billede Lasse Novice
09. juni 2001 - 02:25 #8
nej, måske er det fordi jeg ikke lige ved hvordan man eksikverer scriptet... jeg har vel egentlig kun kreeret det, og ikke eksikveret det her..!
Avatar billede Slettet bruger
10. juni 2001 - 17:14 #9
gooky --> Hvad arbejder du i? SQL*Plus eller via JDBC eller?

Fra SQL*Plus kan du skrive:

SQL>set serverout on
...
SQL> begin
2> dbms_output.put_line(\'Hej gooky\');
3> end;
4>/
Hej gooky

Fra JDBC er det jo noget andet!
Avatar billede Lasse Novice
11. juni 2001 - 16:30 #10
ok, det virkede(jeg kører SQL+)... så skal jeg bare lige vide en sidste ting... hvordan er det lige man eksikverer et PL/SQL script som man har lavet???
Avatar billede Lasse Novice
11. juni 2001 - 16:32 #11
skal man skrive således:

begin
example1;
end;
/
???
Avatar billede Slettet bruger
12. juni 2001 - 08:58 #12
gooky --> Ja du har ret.

Hvis du har lavet en PL/SQL procedure ved navn \'example1\' kan du kalde den ved at skrive, som du har gjort.

Du kan også skrive \'exec example1\'. Forskellen er, at \'exec\' er en one-liner som ikke gemmes i bufferen.

Når du har lavet en \'begin....end;/\' kan du få den frem igen ved at skrive \'b\' (for buffer).
Avatar billede Lasse Novice
12. juni 2001 - 17:06 #13
ehhhh.... smart! Jeg kan dog ikke lige få det der b til at virke, men anyway - TAK
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