Try this,
use TestStaging;
go
DECLARE @folder varchar(500) = 'C:\Users\Public'
DECLARE @DOSCommand varchar(1024);
SET @DOSCommand = 'dir ' + @folder +'\' + ' /A-D /B'
IF OBJECT_ID('tempdb..#myFileList') IS NOT NULL DROP TABLE #myFileList
CREATE TABLE #myFileList (FileNumber INT IDENTITY,[FileName] VARCHAR(256))
INSERT INTO #myFileList([FileName]) EXEC MASTER.dbo.xp_cmdshell @DOSCommand
SELECT * FROM #myFileList where fileName is not null
------------------------------
DECLARE @i int, @filename varchar(200)
SET @i = 1
WHILE (@i <= (select max(FileNumber) from #myFileList))
BEGIN
DECLARE @SQL varchar(MAX)
SELECT @filename= [FileName] from #myFileList WHERE FileNumber = @i
SELECT @SQL =
'INSERT INTO images (image_name, image_data)
SELECT ''' + @filename + ''' AS image_name,
BulkColumn FROM OpenRowSet ( Bulk ''C:\Users\Public\' + @filename + ''', Single_Blob) AS image_data'
Exec(@SQL)
SET @i = @i + 1
END
GO
------------------------------
DROP TABLE #myFileList
select *
from images
;
go
Regards, RSingh
No comments:
Post a Comment