SQL Server - Obtener y listar archivos de una ruta especifica
Que tal, ahora me encontre con la tarea de buscar el como obtener la lista de archivos de un directorio especifico pero desde SQL SERVER.
Referencia: http://www.simple-talk.com/sql/t-sql-programming/the-tsql-of-text-files/
Para poder listar los archivos primero necesitaremos tener el xp_cmdshell habilitado, ya que por motivos de seguridad, cuando se instala SQL Sever este comando se deshabilita por default. Con el, podemos usar el shell privado de SQL.
Nota: Te pido que primero que veas las opciones del comando "dir" para que puedas ver las diferentes alternativas de como usarlo y acoplarlo a tus necesidades.
El siguiente código solo lista los nombres de los archivos de la ruta especificada
-- Lista todos los archivos en un directorio - T-SQL
-- Microsoft SQL Server comando shell - xp_cmdshell
DECLARE @PathName VARCHAR(256) ,
@CMD VARCHAR(512)
DECLARE @CommandShell TABLE (Line VARCHAR(512))
SET @PathName = 'C:\LocalData\OldSite\wwwroot\EDI\exp_files\'
-- /B es para solo obtener los nombres de los archivos
SET @CMD = 'DIR ' + @PathName + ' /B'
PRINT @CMD -- test & debug
-- MSSQL inser exec - Insertamos los valores obtenidos de la ejecución en
-- una tabla
INSERT INTO @CommandShell
EXEC MASTER..xp_cmdshell @CMD
SELECT *
FROM @CommandShell
Resultado
----------------------------------------------------------------------------
Line |
File1.xls |
Myfiletext.txt |
Killlist.csv |
Mushroom.pdf |
Bueno espero les sirva de utilidad este script, Saludos
Gracias Amigo,
ResponderEliminarjustamente lo que necesitaba.
Gracias muy útil!
ResponderEliminar