Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Экспорт BLOB на диск  [new]
rossijanin
Member

Откуда:
Сообщений: 31
Ребят помогите ......

Есть таблица со следующими полями:

attachurl,
attachextension,
attachblobsz,
attachblob

в которую вкладываются файлы с разными разрешениями (.txt, .word, .xlsx, .ppt, .avi, .jpeg и т.д.)

Как можно эти вложения запросом экспортировать на диск C:\

К сообщению приложен файл. Размер - 26Kb
29 июн 12, 15:06    [12795081]     Ответить | Цитировать Сообщить модератору
 Re: Экспорт BLOB на диск  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4256
declare @SQLcommand nvarchar(100)
set @SQLcommand = N'bcp "SELECT F FROM dnn_r..t" queryout C:\imagename.jpg -T -fC:\PP.fmt'
exec xp_cmdshell @SQLcommand
go
1 июл 12, 03:25    [12800152]     Ответить | Цитировать Сообщить модератору
 Re: Экспорт BLOB на диск  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4256
Вот еще dll-ка.

Положить в BINN фолдер

регистрация
    USE MASTER
    GO
    sp_addextendedproc 'xp_SaveBlob', 'EspSaveBlob.dll'
    go


тестовая таблица

    create table ross( id bigint NOT NULL identity(1,1), sname sysname, attachblob image )
GO


вставить тестовую картинку

INSERT INTO ross( sname, attachblob ) 
	SELECT N'c:\photo\01.jpg' AS sname, * FROM OPENROWSET(BULK N'c:\photo\01.jpg', SINGLE_BLOB) AS attachblob
GO 


выложить файл на диск

база master таблица ross поле с картинкой attachblob название поля идентификатор записи id идентификатор записи 1

exec master..xp_SaveBlob N'master', N'ross', N'attachblob', N'id', 1, N'c:\me\01.jpg'
GO


К сообщению приложен файл (EspSaveBlobDLL.zip - 103Kb) cкачать
3 июл 12, 06:37    [12807412]     Ответить | Цитировать Сообщить модератору
 Re: Экспорт BLOB на диск  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4256
а тут исходники для VS2010

К сообщению приложен файл (EpsSaveBlob.zip - 78Kb) cкачать
3 июл 12, 06:43    [12807418]     Ответить | Цитировать Сообщить модератору
 Re: Экспорт BLOB на диск  [new]
rossijanin
Member

Откуда:
Сообщений: 31
Lepsik, большущее спасибо, буду пробовать ...
3 июл 12, 10:00    [12807807]     Ответить | Цитировать Сообщить модератору
 Re: Экспорт BLOB на диск  [new]
rossijanin
Member

Откуда:
Сообщений: 31
Lepsik, извини за мое непонимание в общем делаю следующее:

declare @SQLcommand nvarchar(100)
set @SQLcommand = N'bcp "SELECT attachblob FROM wt_attachment" queryout C:\imagename.ppt -T -fC:\PP.fmt'
exec xp_cmdshell @SQLcommand
go

На диске C:\ появляется файл imagename.ppt (пустой и в зависимости от того какое имя файла и разрешение мы указали в запросе)

Я вот не догоню как именно выгрузить все приложения с таблицы wt_attachment поля attachblob на C:\

(((
3 июл 12, 11:55    [12808795]     Ответить | Цитировать Сообщить модератору
 Re: Экспорт BLOB на диск  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4256
насчет bcp я не гуру.
4 июл 12, 05:14    [12813413]     Ответить | Цитировать Сообщить модератору
 Re: Экспорт BLOB на диск  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10234
Блог
http://social.technet.microsoft.com/wiki/contents/articles/890.export-sql-server-blob-data-with-powershell-en-us.aspx
4 июл 12, 08:35    [12813537]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить