Discussione:
Elenco dei files di una directory
(troppo vecchio per rispondere)
Max©®
2005-03-07 11:53:01 UTC
Permalink
Come da oggetto SQL Server mette a disposizione qualche strumento in
grado di restitutire l'elenco dei files contenuti in una directory?
Ho visto la stored "xp_cmdshell" ma non sono ancora riuscito a farla
funzionare correttamente.

Questo perchè sto realizzando una form in ASP.NET per il backup/restore
di un DB. Per il backup non ho problemi ma per il restore vorrei che
l'utente fosse in grado di scegliere da un elenco il file da
ripristinare. Purtroppo ASP.NET non è in grado (e non lo sarà) di
accedere alla cartella che contiene i file di backup e per questo
sarebbe utile avere uno strumento di SQL Server per poter costruire tale
elenco.

Spero di essere stato chiaro.
--
Max Etere
***@maxetere.it
Per chi ama la musica: http://www.maxetere.it
Andrea Montanari
2005-03-07 12:06:02 UTC
Permalink
salve Max,
Post by Max©®
Come da oggetto SQL Server mette a disposizione qualche strumento in
grado di restitutire l'elenco dei files contenuti in una directory?
Ho visto la stored "xp_cmdshell" ma non sono ancora riuscito a farla
funzionare correttamente.
Questo perchè sto realizzando una form in ASP.NET per il
backup/restore di un DB. Per il backup non ho problemi ma per il
restore vorrei che l'utente fosse in grado di scegliere da un elenco
il file da ripristinare. Purtroppo ASP.NET non è in grado (e non lo
sarà) di accedere alla cartella che contiene i file di backup e per
questo sarebbe utile avere uno strumento di SQL Server per poter
costruire tale elenco.
Spero di essere stato chiaro.
puoi forse fare ricorso alla procedura estesa non documentata xp_dirtree,
come indicato in
http://www.devarticles.com/c/a/SQL-Server/Extended-Stored-Procedures-Intro-And-10-Cool-Examples/3/

ripeto, e' una procedura non documentata quindi utilizzabile con beneficio
di inventario relativamente alla presenza ed implementazione in successive
versioni e/o service pack
saluti
--
Andrea Montanari (Microsoft MVP - SQL Server)
http://www.asql.biz/DbaMgr.shtm http://italy.mvps.org
DbaMgr2k ver 0.10.0 - DbaMgr ver 0.56.0
(my vb6+sql-dmo little try to provide MS MSDE 1.0 and MSDE 2000 a visual
interface)
--------- remove DMO to reply
Max©®
2005-03-07 14:40:03 UTC
Permalink
Ciao Andrea,
ho provato la "master..xp_dirtree" e funziona perfettamente ma mi elenca
le directory e non i files! Sono io che sbaglio qualcosa o è proprio
questa la sua funzione?

Grazie
--
Max Etere
***@maxetere.it
Per chi ama la musica: http://www.maxetere.it
Max©®
2005-03-07 14:48:33 UTC
Permalink
Max©® ha scritto:

Allora, ho risolto così:

exec master..xp_dirtree <PERCORSO>, 1, 1

Funziona perfettamente anche con i percorsi di rete.
Grazie a tutti per i consigli!!!
--
Max Etere
***@maxetere.it
Per chi ama la musica: http://www.maxetere.it
Andrea Benedetti
2005-03-07 12:51:38 UTC
Permalink
Salve Max,
Come da oggetto SQL Server mette a disposizione qualche strumento in grado
di restitutire l'elenco dei files contenuti in una directory?
Ho visto la stored "xp_cmdshell" ma non sono ancora riuscito a farla
funzionare correttamente.
Questo perchè sto realizzando una form in ASP.NET per il backup/restore di
un DB. Per il backup non ho problemi ma per il restore vorrei che l'utente
fosse in grado di scegliere da un elenco il file da ripristinare.
Purtroppo ASP.NET non è in grado (e non lo sarà) di accedere alla cartella
che contiene i file di backup e per questo sarebbe utile avere uno
strumento di SQL Server per poter costruire tale elenco.
Spero di essere stato chiaro.
Prova a dare un'occhiata a questo script (
http://www.absistemi.it/permalink=ts126.ashx ):

-- Creo una tabella di appoggio
create table dirlist (filename varchar(8000))
go

-- Popolo la tabella con il risultato dell'istruzione "dir":
insert into dirlist(filename) exec master..xp_cmdshell 'dir c:\windows'
go

delete dirlist where
substring(filename,1,2) < '00' or
substring(filename,1,2) > '99' or
filename is NULL
go


-- Elenco files e directory:
select * from dirlist

-- Elenco sole directory
select * from dirlist
where filename like '%<DIR>%'

-- Cancello la tabella di appoggio
drop table dirlist
go

Ti raccomando di studiare attentamente sui booksonline la procedura
xp_cmdshell ed i permessi che l'utente deve avere (sysadmin) per poterla
eseguire.
--
Max Etere
Per chi ama la musica: http://www.maxetere.it
HTH,
Andrea
Continua a leggere su narkive:
Loading...