我比较推荐用保存图片路径的方法,但是看你的描述应该是 保存为二进制数据
给你附上一个 用例。
用image类型
方法:
1、建立过程
CREATE PROCEDURE sp_textcopy (
@srvnamevarchar (30),
@login varchar (30),
@passwordvarchar (30),
@dbname varchar (30),
@tbname varchar (30),
@colnamevarchar (30),
@filenamevarchar (30),
@whereclause varchar (40),
@direction char(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、建表和初始化数据
create table 表名 (编号 int,image列名 image)
go
insert 表名 values(1,0x)-- 必须的,且不是null
insert 表名 values(2,0x)-- 必须的,且不是null
go
3、读入
sp_textcopy '你的服务器名','sa','你的密码','库名','表名','image列名','c:\图片.bmp','where 编号=1','I' --注意条件是 编号=1
sp_textcopy '你的服务器名','sa','你的密码','库名','表名','image列名','c:\bb.doc','where 编号=2','I' --注意条件是 编号=2
go
4、读出成文件
sp_textcopy '你的服务器名','sa','你的密码','库名','表名','image列名','c:\图片.bmp','where 编号=1','O' --注意条件是 编号=1
sp_textcopy '你的服务器名','sa','你的密码','库名','表名','image列名','c:\bb.doc','where 编号=2','O' --注意条件是 编号=2
go
如果报textcopy不是可执行文件的话,你就到
C:\Program Files\Microsoft SQL Server\MSSQL\Binn
目录下拷备 textcopy.exe到:
C:\Program Files\Microsoft SQL Server\80\Tools\Binn
图片就是二进制数据。在数据库中创建一个Image类型的字段(二进制)
把图片文件的内容读到字节数组中,然后把字节数组保存到Image字段里。
从Image字段里读取出二进制数据,保存到一个字节数组中,然后写到文件或者流里再显示出来。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)