2012-07-04 174 views
0

文件我想將數據從一個表直接保存到使用這個T-SQL服務器的文件系統:保存圖像的服務器

DECLARE @ID int 
DECLARE @command varchar(1000) 
DECLARE @Name varchar(100) 
DECLARE @FileName varchar(100) 
DECLARE MyCursor CURSOR FOR 
SELECT Id, [FileName] FROM FilesTable 
OPEN MyCursor 

FETCH NEXT FROM MyCursor 
INTO @ID, @Name 

WHILE @@FETCH_STATUS = 0 
BEGIN 

SELECT @FileName = 'd:\Temp\' + convert(varchar(200), @Name) 

SET @command = 'bcp "SELECT FileBytes FROM FilesTable WHERE ID = ' + convert(varchar(18),  @Id) + '" queryout "' + @FileName + '" -T -n' 

EXEC master..xp_cmdshell @command, no_output 

FETCH NEXT FROM MyCursor 
INTO @Id, @Name 

END 

CLOSE MyCursor 
DEALLOCATE MyCursor 

表充滿了可靠的數據。用C#程序訪問這些數據的工作。 我沒有配置高級選項授予使用xp_cmdshell 當我運行此查詢我沒有得到任何錯誤,但沒有寫入文件。 我也沒有看到日誌中的任何東西,(也許我看錯了位置?)

我在做什麼錯了?或者我可以做些什麼checdk「引擎蓋下」?

+1

您可能會在這裏找到幫助:http://stackoverflow.com/questions/10325338/fastest-way-to-export-blobs-from-table-into-individual-files [1]: – Patrick

回答

相關問題