Area personale
Tag
Cerca in questo Blog
Menu
Chi puņ scrivere sul blog
Post n°21 pubblicato il 09 Agosto 2010 da Pietro_Bonfigli
Oracle consente di utilizzare la funzionalità delle tabelle esterne, con le quali è possibile accedere ai file esterni come se questi fossero tabelle contenute nel database.
Importante: quando si crea una tabella esterna in Oracle, la sua struttura viene definita insieme alla sua posizione. Quando si interroga la tabella esterna, Oracle le legge e restituisce i risultati come se i dati fossero stati memorizzati nel database.
Dal momento che i dati non sono nel database, non ci si dovrà preoccupare di caricarli nello stesso, un vantaggio notevole per i Data WareHouse e per i database di grandi dimensioni.
Le tabelle esterne però hanno dei limiti:
Questa funzionalità è disponibile a partire dalla versione di Oracle 10g, attraverso il driver di accesso ORACLE_DATAPUMP.
Per accedere ai file esterni di Oracle, per prima cosa occorre utilizzare il comando create directory per definire l’oggetto di una directory che punta alla posizione dei file esterni. Gli utenti che accederanno ai file esterni dovranno disporre del privilegio READ nella directory.
NOTA: Prima di iniziare occorre accertarsi dell’esistenza della directory esterna e che l’utente che eseguirà il comando create directory abbia il privilegio di sistema CREATE ANY DIRECTORY.
L’esempio seguente crea una directory di nome LIBRO_DIR e concede gli accessi READ e WRITE allo schema PRACTICE:
create directory LIBRO_DIR as ‘eoracleexternal’; grant read on directory LIBRO_DIR to practice; grant write on directory LIBRO_DIR to practice; Da questo momento in poi l’utente PRACTICE può leggere i file nella directory e:oracleexternal come se fossero contenuti nel database. Dato che a tale utente è stato anche concesso il privilegio di WRITE, in quella directory potrà creare i suoi file di log. Se un altro utente deve poter accedere ai dati contenuti nei file presenti nella directory e:oracleexternal gli si dovrà concedere il privilegio di READ alla directory LIBRO_DIR.
grant read on directory LIBRO_DIR to ..(altro utente)…; I file stessi dovranno anche essere leggibili da parte dell’utente Oracle a livello di sistema operativo. Generiamo di esempio due file utilizzando il listato seguente:
select Titolo || ‘;’ || Editore || ‘;’ || NomeCategoria || ‘;’ || Classificazione || ‘;’ from biblioteca order by titolo;
spool e:oracleexternalbookshelf_dump.lst / Select Titolo || ‘;’ || NomeAutore || ‘;’ From biblioteca_autore Order by titolo; spool e:oracleexternalbook_auth_dump.lst /
Spool off
Oltre ai dati, I file di output conterranno anche una singola linea iniziale con il simbolo “SQL>/” e una linea finale che riporta “SQL>spool off”. Per semplificare gli esempi, prima di procedere è consigliabile di modificare manualmente i file togliendo tali righe. |
Post n°20 pubblicato il 03 Agosto 2010 da Pietro_Bonfigli
Dopo anni di sviluppo con Oracle forms 6 sono passato allo sviluppo con Oracle forms 9. Al momento della istallazione ho creato una nuova oracle home che ho chiamato DEV9. Dopo l'istallazione andare nella nuova directory es (C:ORACLE/dev9/bin) e recuperare il file ifbld90.exe, questo è la nuova icona di lavoro per gli fmb Recuperare il file C:ORACLE/dev9/j2ee/Oracle9i/DSstartinst.bat, questo serve per lanciare sulla propria macchina il listner java Recuperare il file C:ORACLE/dev9/j2eeOracle9i/DSstopinst.bat, questo serve per stoppare il listner Fare tasto destro sull'icona del ifbld90.exe, nel target aggiungere l'utente di connessione(es userid=pippo/pippo@myDB), nello Start In indicare il percorso di riferimento delle forms (es F:sviluppo). Lanciare l'eseguibile ifbld90.exe, verificare che la lingua sia inglese, in caso contrario modificare il linguaggio sulla home sul regedit. sul menù in alto selezionare Edit, scendere su Preferences, si apre una nuova finestra con 4 tab, selezionare Runtime, nella combo Application Server URL scrivere http://127.0.0.1:8888/forms90/f90servlet , nella Web Browser Location cercare l'eseguibile del browser preferito (es C:Program FilesInternet Exploreriexplore.exe). Portarsi nella cartella C:ORACLE/dev9/network/admin e copiare il proprio tnsname Nella stessa cartella aprire il file default.env, decommentare il FORMS90_PATH=c:oracle/dev9/forms90 ed aggiungere il percorso delle forms (es FORMS90_PATH=c:oracle/dev9/forms90;F:sviluppo) Questo termina l'istallazione standard. Se nelle vostre forms avete bisogono di utilizzare un menù ad icone dovete: Convertite le icone in GIF, copiatele in una cartelle es c:icons Spero che possa tornarvi utile |