sql2008 里如何通过SQL语句将Image类型字段的内容保存到文件

hh2001howlong 2011-03-24 02:23:08
在sql2008 里面,如何只通过SQL语句将Image类型字段的内容作为文件保存到数据库服务器的硬盘里?(image 字段里保存的是一个文件)

如果是sql2000可以用一个sql server2000 自带的程序 textcopy.exe 将 image 字段的内容保存到数据库服务器硬盘上,可是在sql2008 里面 textcopy.exe 这个程序不能用,请问有其它替代方法吗?

...全文
471 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
--小F-- 2011-03-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hh2001howlong 的回复:]
自己来回答:
EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
EXEC sp_configure 'xp_cmdshell', 1
GO
RECONFIGURE
GO

--生成格式化文件 在此基础上再进行编辑,自己创建一个格式化文件有点问题
EXEC master..xp_cmdshell 'bc……
[/Quote]
学习
王向飞 2011-03-24
  • 打赏
  • 举报
回复
看来楼主想技术分享
hh2001howlong 2011-03-24
  • 打赏
  • 举报
回复
自己来回答:
EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
EXEC sp_configure 'xp_cmdshell', 1
GO
RECONFIGURE
GO

--生成格式化文件 在此基础上再进行编辑,自己创建一个格式化文件有点问题
EXEC master..xp_cmdshell 'bcp mydata.dbo.users format nul -T -c -f c:\Currency.fmt'

10.0
1
1 SQLBINARY 0 0 "" 1 FileData ""


CREATE TABLE [dbo].[tblFile](
[FileID] [bigint] IDENTITY(1,1) NOT NULL,
[FileData] [varbinary] (max) NOT NULL
)

--文件导入到数据库
INSERT INTO tblFile (FileData) SELECT * FROM OPENROWSET(BULK N'C:\MsgManage.exe', SINGLE_BLOB) AS Document


--从数据库导出二进制到文件
DECLARE @CmdQuery AS VARCHAR(500)
SET @CmdQuery = 'bcp "SELECT FileData FROM lxf.dbo.tblFile WHERE FileID=1" queryout "e:\MsgManage.exe" -T -f "c:\BCP 导入导出Binary格式.fmt"'
EXEC master..xp_cmdshell @CmdQuery


22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧