ms sql 이미지 저장하는 방법
아래의 쿼리를 사용하면 이미지를 저장할 수 있습니다.
(ms sql 2008 사용중입니다. )
sp_configure 'show advanced options', 1;
GO
sp_configure 'Ole Automation Procedures', 1;
GO
RECONFIGURE;
GO
DECLARE @outPutPath varchar(50) = 'C:\TEST_IMG'
, @i bigint
, @init int
, @data varbinary(max)
, @fPath varchar(max)
, @folderPath varchar(max)
--Get Data into temp Table variable so that we can iterate over it
DECLARE @Doctable TABLE (id int identity(1,1), [Doc_Num] varchar(100) , [FileName] varchar(100), [Doc_Content] varBinary(max) )
INSERT INTO @Doctable( [FileName],[Doc_Content])
--Select PRSNNUM , [STUDENTNAME],[STUDENTPHOTO] FROM [dbo].[HU254T]
SELECT B.PRSNNM, A.IMGFILE FROM HU254T A
INNER JOIN HU250T B
ON A.PRSNNUM = B.PRSNNUM
--SELECT * FROM @table
SELECT @i = COUNT(1) FROM @Doctable
WHILE @i >= 1
BEGIN
SELECT
@data = [Doc_Content],
@fPath = @outPutPath + '\' +[FileName]+'.jpg',
@folderPath = @outPutPath
FROM @Doctable WHERE id = @i
--Create folder first
--EXEC [dbo].[CreateFolder] @folderPath
EXEC sp_OACreate 'ADODB.Stream', @init OUTPUT; -- An instace created
EXEC sp_OASetProperty @init, 'Type', 1;
EXEC sp_OAMethod @init, 'Open'; -- Calling a method
EXEC sp_OAMethod @init, 'Write', NULL, @data; -- Calling a method
EXEC sp_OAMethod @init, 'SaveToFile', NULL, @fPath, 2; -- Calling a method
EXEC sp_OAMethod @init, 'Close'; -- Calling a method
EXEC sp_OADestroy @init; -- Closed the resources
print 'Document Generated at - '+ @fPath
--Reset the variables for next use
SELECT @data = NULL
, @init = NULL
, @fPath = NULL
, @folderPath = NULL
SET @i -= 1
END
참고로, 먼저 경로에 맞는 폴더를 생성해주고 쿼리를 실행해야 합니다.
@outPutPath는 생성한 폴더 경로가 들어가야 됩니다.
@Doctable 임시 테이블에 들어갈 쿼리를 작성해줘야하는데, 아래와 같이 출력되도록 조회 쿼리를 작성하시면 됩니다.
최종적으로 쿼리를 작성하게 되면 아래와 같이 jpg 파일, 이름명으로 저장되었습니다.
긴글 읽어 주셔서 감사합니다.
더 궁금하신 사항은 댓글로 문의해주시면 빠르게 답변드리겠습니다.
'SQL > MS-SQL & SQL Server Management Studio' 카테고리의 다른 글
[ms sql] 테이블 다른 서버 디비로 옮기기 (0) | 2020.04.28 |
---|---|
mssql update 하위쿼리 (서브쿼리) (0) | 2020.03.05 |
[MSSQL] 10 => 16 진수 변환 / 16 => 10진수 변환 (1) | 2020.02.11 |
[MS SQL] INSERT 여러개 한번에 하기 (0) | 2020.01.21 |
[MS-SQL] 버전 확인하는 방법 (0) | 2019.12.30 |
댓글