Caro
Supongamos que tienes 25 archivos en tu ruta o path de tipo excel para procesarse.
1.- Como saber los nombres de dichos archivos?
EXECUTE master..XP_CMDSHELL 'DIR C:\TURUTA\*.XLS'
2.- ¿A donde almaceno dichos nombres?, crea un store
DECLARE @cFileSpec varchar(255),
@cDirSpec varchar(255
SET @cFileSpec = '*.XLS'
SET @cDirSpec varchar = 'C:\TURUTA\'
CREATE TABLE #DirList (SeqNo INT NOT NULL IDENTITY,
LineText VARCHAR(255) NULL)
SET @iFileCount = 0
IF IsNull(RTrim(@cFileSpec),'') = ''
SET @cFileSpec = 'V*.TXT'
SET @cDirSpec = RTrim(@cDirSpec)
IF @cDirSpec != '' and Right(@cDirSpec,1) != '\'
SET @cDirSpec = @cDirSpec + '\'
SET @cCmdStr = 'dir ' + @cDirSpec + @cFileSpec
INSERT #DirList (LineText)
EXEC master..xp_cmdshell @cCmdStr
DELETE FROM #DirList WHERE SubString(LineText,1,1) = ' ' OR LineText IS NULL
UPDATE #DirList SET LineText = SubString(LineText,40,255)
-- Si no hay registros, termino la ejecucion
IF (SELECT TOP 1 LineText FROM #DirList) = ''
RETURN(0)
-----------------------------
Aqui si hay archivos, es tan facil como que abras su contenido con:
SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\TURUTA\TuArchivo.xls";User ID=Admin;Password=;Extended
properties=Excel 5.0')...xactions
Claro que aqui, deberias enviar TURUTA y TuArchivo.xls, como parametros.
¿Quedo un poco mas claro?
Saludos