Ciekawy jestem , czy jest opcja wykonania następującej czynności:
1. poprzez MS Management Studio podłączyć się do bazy bazy danych znajdujące się "gdzieś na serwerze"
2. wykonanie zapytania pobierającego zdjęcie z tabeli ( typ pola image )
3. zapisanie zwróconych danych z zapytania na dysku komputera lokalnego - ten na którym mamy uruchomione Management Studio
Do tej pory korzystałem z takiego mechanizmu zapisu zdjęcia:
DECLARE
@ImgSavePath NVARCHAR(200),
@FilePath VARCHAR(8000),
@ImgOutputName VARCHAR(200)
SET @ImgSavePath = 'C:\img_files\'
BEGIN try
EXEC master.dbo.xp_create_subdir @ImgSavePath
END TRY
BEGIN CATCH
PRINT 'BŁĄD UTWORZENIA KATALOGU'
RETURN (1)
END CATCH
EXEC sp_OACreate 'ADODB.Stream', @ObjStream OUTPUT
EXEC sp_OASetProperty @ObjStream, 'Type', 1
EXEC sp_OAMethod @ObjStream, 'Open'
SET @ImgOutputName = 'zdjecie 1'
SET @FilePath = @ImgSavePath+@ImgOutputName+'.jpg'
SET @ImageBinary = (SELECT img_data FROM #ImageBinary_tab where id_zdj = 1)
EXEC sp_OAMethod @ObjStream, 'Write', NULL, @ImageBinary
EXEC sp_OAMethod @ObjStream, 'SaveToFile', NULL,@FilePath, 2
EXEC sp_OAMethod @ObjStream, 'Close'
EXEC sp_OADestroy @ObjStream
Takie działanie zapisuje zdjęcie na dysku serwera, więc aby zobaczyć co to za zdjęcie, trzeba się dostać do katalogu zapisu na serwerze.
Pozdrawiam.