我將以這樣一個事實作序:這個問題我不知道這是否可能,並且我不知道有關SQL或文件結構的大量信息。將圖像直接從SQL Server查詢保存到磁盤
我有一個類型的圖像列的sql服務器數據庫。我想將這些圖像中的一個保存到磁盤而無需編寫程序(如果可能)。所以在理想的世界中,我會在Sql Server Management Studio中運行一個查詢。 RMB放在結果單元上並保存爲磁盤映像。
這當然不起作用,但是我可能在做什麼?我確實搜索過SO和Google,但找不到任何東西。
我將以這樣一個事實作序:這個問題我不知道這是否可能,並且我不知道有關SQL或文件結構的大量信息。將圖像直接從SQL Server查詢保存到磁盤
我有一個類型的圖像列的sql服務器數據庫。我想將這些圖像中的一個保存到磁盤而無需編寫程序(如果可能)。所以在理想的世界中,我會在Sql Server Management Studio中運行一個查詢。 RMB放在結果單元上並保存爲磁盤映像。
這當然不起作用,但是我可能在做什麼?我確實搜索過SO和Google,但找不到任何東西。
您使用的是哪個版本的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
謝謝。儘管這篇文章有點凌亂。我可以有一個簡單的按鈕嗎? – mrtsherman
試試這個:
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
這看起來很有希望,但顯然我沒有必須使用的數據庫的執行權限。這看起來很有趣,我想我會嘗試在另一個本地數據庫上進行測試。 – mrtsherman
使用SQL Server 2008 – mrtsherman