【问题标题】:Saving image in database field to file on server将数据库字段中的图像保存到服务器上的文件
【发布时间】:2012-07-05 01:22:00
【问题描述】:

我正在尝试使用此 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 当我运行此查询时,我没有收到任何错误,但没有写入文件。 我也没有在日志中看到任何内容,(也许我在寻找错误的位置?)

我做错了什么?或者我可以做些什么来检查'引擎盖下'?

【问题讨论】:

标签: sql-server tsql sql-server-2012


【解决方案1】:

根据 Patrick 的评论和 fastest way to export blobs from table into individual files 中的回答,我能够将图像存储在我的文件服务器上。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-28
    • 1970-01-01
    • 1970-01-01
    • 2016-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多