如何不通過其他工具,把圖片、聲音等存儲到sql中
用image類型
方法:
1、建立過程
CREATE PROCEDURE sp_textcopy (
@srvname varchar (30),
@login varchar (30),
@passWord varchar (30),
@dbname varchar (30),
@tbname varchar (30),
@colname varchar (30),
@filename varchar (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