Oracle PL / SQL di esecuzione di progetto OS Comandi contiene il PL pacchetti / SQL OS_COMMAND, FILE_TYPE e FILE_PKG che consentono uno sviluppatore database Oracle per interagire con il sistema operativo o con i file normali. & Nbsp; Oracle offre out-of-the-box solo funzionalità limitate per l'accesso al file system e non funzionalità per eseguire comandi di shell o processi del sistema operativo. Ci sono degli script PL / SQL distribuite su internet e nei forum di Oracle ma non c'è nessun pacchetto pronto per il montaggio. Questo progetto è in procinto di fornire esattamente questo.
In generale, ci sono almeno tre modi per eseguire comandi di shell dal motore di Oracle.
& Nbsp; 1. Codifica una libreria condivisa nativa, fare riferimento a esso nel database Oracle utilizzando CREATE LIBRARY e creare un / SQL involucro PL sulle funzioni particolari. Ciò ha richiesto un compilatore C per la piattaforma Oracle è in esecuzione.
& Nbsp; 2. Utilizzando il DBMS_SCHEDULER package Oracle fornito che è in grado di eseguire comandi di shell. Ma DBMS_SCHEDULER non ha accesso a STDIN e STDOUT; se questo è necessario, DBMS_SCHEDULER non è più un'opzione.
& Nbsp; 3. Poiché Oracle8i c'è un motore di J2SE Java compatibile contenute nel database; come qualsiasi altro motore di Java è in grado di eseguire i comandi di shell tramite il metodo System.exec. L'API JDBC consente di passare il contenuto di STDIN, STDOUT oppure i valori di ritorno del sistema operativo di nuovo al motore SQL. E dal momento che Java è indipendente dalla piattaforma uno script di installazione fa il lavoro per tutte le piattaforme. Così ho preso la decisione per Java nel database.
Il pacchetto viene eseguito in Oracle 10.1 o superiore
Cosa c'è di nuovo in questa versione:.
- file separati per oracle10 e Oracle11g - i metodi OS_COMMAND.LOAD_ENV non sono disponibili in 10 g
- Il supporto per le directory di lavoro durante l'esecuzione di comandi di shell
- Il supporto per le variabili d'ambiente personalizzato
- file_type privilegi di scrittura che non utilizza più, quando solo i file di lettura
- package PL / SQL ora funziona con i diritti invocatrici '
- Ottieni ambiente informazioni specifiche: directory radice e il carattere separatore nome
- FILE_TYPE: get_parent () metodo
I commenti non trovato