Сохранить изображение на диск прямо из запроса SQL Server - PullRequest
0 голосов
/ 15 июля 2011

Я предрежу этот вопрос тем фактом, что я не знаю, возможно ли это, и что я не знаю тонны о sql или файловых структурах.

У меня есть база данных sql server со столбцом типа image. Я хочу сохранить одно из этих изображений на диск без необходимости писать программу (если это возможно). Поэтому в идеальном мире я бы запустил запрос в Sql Server Management Studio. RMB в ячейке результата и сохранить как изображение на диск.

Это, конечно, не работает, но то, что я после возможного? Я выполнил поиск SO и Google, но ничего не смог найти.

Ответы [ 2 ]

1 голос
/ 15 июля 2011

Какую версию SQL Server вы используете? SQL 2008 поддерживает FILESTREAM, где вы можете сохранять BLOB-данные непосредственно на том NTFS. Здесь есть хорошая статья в блоге: http://blogs.msdn.com/b/rdoherty/archive/2007/10/12/getting-traction-with-sql-server-2008-filestream.aspx

0 голосов
/ 16 июля 2011

Попробуйте это:

declare @ObjectToken int
declare @signature varbinary(8000)  --  Load @signature with the value of your image, I have not tested varbinary(max) with sp_oacreate
declare @fullname varchar(500)  --  Load @fullname with folder and filename to export to

exec sp_oacreate 'ADODB.Stream', @objecttoken output
exec sp_oasetproperty @objecttoken, 'type', 1
exec sp_oamethod @objecttoken, 'open'
exec sp_oamethod @objecttoken, 'write', null, @signature
exec sp_oamethod @objecttoken, 'savetofile', null, @FullName, 2
exec sp_oamethod @objecttoken, 'close'
exec sp_oadestroy @objecttoken
...