首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2013-01-05 
关于SQL SERVER2005通过存储图片的问题SQL 存储图片: 1 建立存储过程USE collegeGOCREATE PROCEDURE sp_te

关于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

热点排行