Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Renault 5 elettrica al giudizio definitivo: solo stupore iniziale o premi meritati?
Renault 5 elettrica al giudizio definitivo: solo stupore iniziale o premi meritati?
Dopo più di un anno dal primo test drive ci siamo rimessi al volante della Renault 5 E-Tech Electric, questa volta utilizzandola come prima auto per circa due settimane. Scoprite con noi se il progetto convince ancora
HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix
HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix
Un proiettore economico, che fa della portabilità e immediatezza i suoi punti di forza. Adatto per una camera da letto o per la casa vacanze, è basato su sistema proprietario Linux ma offre piena compatibilità ufficiale a Netflix
ASUS ProArt GoPro Edition è il notebook compatto per chi crea
ASUS ProArt GoPro Edition è il notebook compatto per chi crea
Un notebook sviluppato in collaborazione con GoPro ma che risponde al meglio alle necessità di tutti coloro che creano contenuti video: robustezza, design, potenza di calcolo e funzionalità si abbinano al meglio tra di loro, pur se a prezzo di un costo elevato per via della tanta memoria onboard
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 14-03-2014, 08:36   #1
sampeiroma
Senior Member
 
Iscritto dal: Dec 2006
Città: ROMA
Messaggi: 1062
PLSQL caricare file BLOB da una cartella

Ciao,
come dice il titolo devo caricare dei file presenti in una cartella in una tabella Oracle11.

Per ora sono riuscito a caricare 1 file alla volta passando alla procedura la variabile "nomefile", in realtà dovrei leggere direttamente tutti i file presenti nel percorso indicato e scriverli nel DB.

Potete aiutarmi?
Grazie
__________________
Asus Rog GL702VM-BA135T
sampeiroma è offline   Rispondi citando il messaggio o parte di esso
Old 19-03-2014, 08:59   #2
Maui78
Senior Member
 
L'Avatar di Maui78
 
Iscritto dal: Jan 2005
Messaggi: 395
Ciao
Puoi caricare i nomi dei file su una tabella ed aprire un ciclo su questi.

Fammi sapere.


Maui78 è offline   Rispondi citando il messaggio o parte di esso
Old 20-03-2014, 16:37   #3
sampeiroma
Senior Member
 
Iscritto dal: Dec 2006
Città: ROMA
Messaggi: 1062
Intanto grazie per la risposta, ci avevo pensato anch'io ma come li carico in tabella puoi aiutarmi?
__________________
Asus Rog GL702VM-BA135T
sampeiroma è offline   Rispondi citando il messaggio o parte di esso
Old 20-03-2014, 17:42   #4
Maui78
Senior Member
 
L'Avatar di Maui78
 
Iscritto dal: Jan 2005
Messaggi: 395
Come prima cosa crei una directory logica su oracle che punti alla directory fisica (mi raccomando le grant di scrittura e lettura se operi con un'utenza diversa da system).
Successivamente crei una tabella esterna con un unico campo che in input prende un file su cui, precedentemente, hai mandato l'output di un ls (esempio fatto su unix, ma va bene anche per windows con le dovute differenze).
Fammi sapere se ti è chiaro.
Maui78 è offline   Rispondi citando il messaggio o parte di esso
Old 20-03-2014, 17:48   #5
Maui78
Senior Member
 
L'Avatar di Maui78
 
Iscritto dal: Jan 2005
Messaggi: 395
Per esempio....

CREATE DIRECTORY TUADIR AS '/file_location';

CREATE TABLE nomefiletable
(
FIELD1 varchar2(100)
)
ORGANIZATION EXTERNAL
( TYPE ORACLE_LOADER
DEFAULT DIRECTORY TUADIR
ACCESS PARAMETERS
( RECORDS DELIMITED BY NEWLINE
LOGFILE 'ls.log'
FIELDS TERMINATED BY ';'
)
LOCATION (TUADIR:'ls.txt')
)
REJECT LIMIT 0
NOPARALLEL
NOMONITORING;
Maui78 è offline   Rispondi citando il messaggio o parte di esso
Old 21-03-2014, 14:00   #6
sampeiroma
Senior Member
 
Iscritto dal: Dec 2006
Città: ROMA
Messaggi: 1062
dimenticavo.... non ho i diritti per creare cartelle su Oracle.
__________________
Asus Rog GL702VM-BA135T
sampeiroma è offline   Rispondi citando il messaggio o parte di esso
Old 21-03-2014, 18:34   #7
Maui78
Senior Member
 
L'Avatar di Maui78
 
Iscritto dal: Jan 2005
Messaggi: 395
Vabbè, ma mica devi creare cartelle
Quello che a te serve è una directory logica che punti al path fisico dove si trovano i file e una tabella che si agganci appunto alla directory logica.
Se sei riuscito a caricare un file vuol dire che hai già un puntamento al path fisico, e, immagino sia avvenuto per mezzo di una directory logica sul database, o no ?!
Maui78 è offline   Rispondi citando il messaggio o parte di esso
Old 24-03-2014, 08:10   #8
sampeiroma
Senior Member
 
Iscritto dal: Dec 2006
Città: ROMA
Messaggi: 1062
Quote:
Originariamente inviato da Maui78 Guarda i messaggi
Vabbè, ma mica devi creare cartelle
Quello che a te serve è una directory logica che punti al path fisico dove si trovano i file e una tabella che si agganci appunto alla directory logica.
Se sei riuscito a caricare un file vuol dire che hai già un puntamento al path fisico, e, immagino sia avvenuto per mezzo di una directory logica sul database, o no ?!
ciao,
ho impostato un percorso all'interno della procedura, il comando create directory non posso utilizzarlo. attualmente la procedura è questa:

CREATE OR REPLACE PROCEDURE db.caricaFiles(nomefile IN VARCHAR2) IS
bl BLOB;
bf BFILE;
bs INTEGER;
BEGIN
INSERT INTO provaBlob VALUES(nomefile, empty_blob());
bf := bfilename('\\.......\TEST', nomeFile);
DBMS_LOB.FILEOPEN(bf);
bs := DBMS_LOB.GETLENGTH(bf);
SELECT fileB INTO bl FROM provaBlob WHERE fileName = nomefile;
DBMS_LOB.LOADFROMFILE(bl, bf, bs);
DBMS_LOB.FILECLOSE(bf);
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SQLCODE||' '||SQLERRM);
COMMIT;
END;
/
__________________
Asus Rog GL702VM-BA135T
sampeiroma è offline   Rispondi citando il messaggio o parte di esso
Old 24-03-2014, 13:33   #9
Maui78
Senior Member
 
L'Avatar di Maui78
 
Iscritto dal: Jan 2005
Messaggi: 395
Se hai accesso al path fisico del server, fatti un ls ridirezionato su un file, o anche in memoria, crea una tabella e fai una insert a tappeto della lista di file generati. Poi su questa apri un ciclo.
Altri metodi non mi vengono in mente, ci sarebbe qualche package di sistema che consente di interagire con il sistema operativo, ma se non hai le grant per creare una directory esterna dubito tu abbia l'utenza di sys per eseguirli visto che non sono pubblici....
Altro non mi viene in mente
Maui78 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Renault 5 elettrica al giudizio definitivo: solo stupore iniziale o premi meritati? Renault 5 elettrica al giudizio definitivo: solo...
HONOR CHOICE Projector Air Pro: piccolo, portatile e con Netflix HONOR CHOICE Projector Air Pro: piccolo, portati...
ASUS ProArt GoPro Edition è il notebook compatto per chi crea ASUS ProArt GoPro Edition è il notebook c...
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090 Fable e Sol a confronto: due cartoni animati cre...
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile Il tablet rugged leggero e sottile: Lenovo Think...
Xbox Cloud Gaming si espande e arriva su...
Il riconoscimento facciale con IA per co...
MacBook Ultra: il nuovo design arriver&a...
Gli utenti passano più tempo su Instagra...
L'AI sta facendo guadagnare miliardi anc...
L'Odissea di Nolan rilancia Assassin's C...
Russia vieta il mining di criptovalute a...
Lenovo sta preparando il lancio di un Go...
L'intelligenza artificiale colpisce dove...
Xiaomi, si prepara ad aggiornare la fasc...
Rincari in arrivo per gli iPhone: i nuov...
Le edizioni fisiche dei giochi per PlayS...
Aziende IA comprano migliaia di libri ac...
L'IA frena gli utenti di Reddit: azioni ...
Questi pannelli solari non producono sol...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 03:10.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v