Oracle PL / SQL OS kommandoer projekt udfører indeholder PL / SQL-pakker OS_COMMAND, FILE_TYPE og FILE_PKG som muliggør en Oracle-database udvikler til at interagere med styresystemet eller med almindelige filer. & Nbsp; Oracle giver out-of-the-box kun begrænset funktionalitet til at få adgang til filsystemet og ingen funktioner til at udføre shell kommandoer eller operativsystemet processer. Der er PL / SQL-scripts spredt over internettet og i Oracle fora, men der er ingen klar-til-installere pakken. Dette projekt er ved at levere præcis dette.
Generelt er der mindst tre måder at udføre shell-kommandoer, som Oracle motor.
& Nbsp; 1. Kodning en indfødt delt bibliotek, reference det i Oracle database ved hjælp af CREATE BIBLIOTEK og skabe en PL / SQL wrapper på de særlige funktioner. Dette krævede en C compiler til platformen Oracle kører på.
& Nbsp; 2. Brug af Oracle-leverede pakke DBMS_SCHEDULER som er i stand til at udføre shell-kommandoer. Men DBMS_SCHEDULER mangler adgang til STDIN og STDOUT; hvis det er nødvendigt, DBMS_SCHEDULER er ikke længere en mulighed.
& Nbsp; 3. Da Oracle8i der en J2SE kompatibel Java Engine indeholdt i databasen; som enhver anden Java Engine er den i stand til at udføre shell-kommandoer via System.exec metoden. JDBC API gør det muligt at passere indholdet af STDIN, STDOUT eller OS returværdier tilbage til SQL motor. Og da Java er platform-uafhængige man installere scriptet gør jobbet for alle platforme. Så jeg tog beslutningen om Java i databasen.
Pakken kører i Oracle 10.1 eller højere
Hvad er nyt i denne udgivelse:.
- Separeret filer til Oracle10 og Oracle11g - de OS_COMMAND.LOAD_ENV metoder er ikke tilgængelige i 10 g
- Støtte til arbejde biblioteker ved udførelse shell kommandoer
- Understøttelse af brugerdefinerede miljøvariabler
- FILE_TYPE ikke længere er nødvendig skriverettigheder når bare at læse filer
- PL / SQL-pakken fungerer nu med invokers rettigheder
- Få miljø specifikke oplysninger: Root mapper og navn separator karakter
- FILE_TYPE: get_parent () metode
Kommentarer ikke fundet