Sql server 将数据库字段中的图像保存到服务器上的文件

Sql server 将数据库字段中的图像保存到服务器上的文件,sql-server,tsql,sql-server-2012,Sql Server,Tsql,Sql Server 2012,我正在尝试使用以下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 IN

我正在尝试使用以下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\u cmdshell的权限 当我运行这个查询时,我没有得到任何错误,但没有写入任何文件。 我也没有在日志中看到任何东西,(也许我找错了位置?)


我做错了什么?或者我该如何处理checdk'under the hood'?

根据Patrick的评论和中的答案,我能够将图像存储在我的文件服务器上

我们最终编写了一个类似于给定函数的CLR函数。

您可以在这里找到帮助:[1]: