读书人

关于SQL SERVER2005通过存储图片的有关

发布时间: 2013-01-05 15:20:39 作者: rapoo

关于SQL SERVER2005通过存储图片的问题

SQL 存储图片: 1 建立存储过程

USE college
GO
CREATE PROCEDURE sp_textcopy(
@srvnamevarchar(30),
@loginvarchar(30),
@passwordvarchar(30),
@dbnamevarchar(30),
@tbnamevarchar(30),
@colnamevarchar(30),
@filenamevarchar(30),
@whereclause varchar(30),
@directionchar(1)
)
AS
DECLARE @exec_str varchar(255)
SELECT @exec_str =
' textcopy /s '+ @srvname +
' /U ' + @login +
' /P ' + @password +
' /D ' + @dbname +
' /T ' + @tbname +
' /C ' + @colname +
' /W "' + @whereclause +
'" /F ' + @filename +
' / ' + @direction
EXEC master..xp_cmdshell @exec_str


2 建表和初始化数据

USE college
CREATE TABLE picture (编号 int,图片 image)
GO
INSERT picture values(1,0x)
INSERT picture values(2,0x)
GO


3 读入

USE college
GO
sp_textcopy '数据库名称','用户名','密码','数据库名','表名','图片','D:\美图\2.jpg','where 编号=1','I'
GO
sp_textcopy '数据库名称','用户名','密码','数据库名','表名','图片','D:\美图\3.jpg','where 编号=2','I'
GO



4 读出成文件

USE college
GO
sp_textcopy '数据库名称','用户名','密码','数据库名','表名','图片','D:\美图\2.jpg','where 编号=1','O'
GO
sp_textcopy '数据库名称','用户名','密码','数据库名','表名','图片','D:\美图\3.jpg','where 编号=2','O'
GO


我按这个一步一步走的过程中,第三步 提示output 为NULL 第四步也提示为NULL
为什么会这样呢?我哪里不对呢?
【xp_cmdshell已经启用】
[解决办法]
textcopy已经过时了

2005直接用openrowset读入
用bcp读出(2000也可以用bcp读出)

不会就查MSDN

读书人网 >SQL Server

热点推荐