我的软件需要管理大量的文件,包括 Word、Excel、图片、pdf 等等,总大小大概有 300 GB。
这些文件是用 Blob 字段直接存储的数据库中好呢?
还是数据表中只存文件路径,然后把文件存到服务器的硬盘上好?我在网上查过了,两种方式都有支持者。这两种方式各有什么优缺点?
这些文件是用 Blob 字段直接存储的数据库中好呢?
还是数据表中只存文件路径,然后把文件存到服务器的硬盘上好?我在网上查过了,两种方式都有支持者。这两种方式各有什么优缺点?
create PROCEDURE sp_textcopy (
@srvname varchar (30),
@login varchar (30),
@password varchar (30),
@dbname varchar (30),
@tbname varchar (30),
@photoname 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 ' + @photoname +
' /W "' + @whereclause +
'" /F ' + @filename +
' /' + @direction
EXEC master..xp_cmdshell @exec_str ,no_output create table photo(id int identity(1,1),photo image,memo nvarchar(50) default 'my photo')
go
insert photo(photo) values(0x) -- 必须的,且不是null
select * from photo
--truncate table photosp_textcopy 'roy','sa','wuxi','test','photo','photo','E:\photo\myphoto\roy3.jpg','where id=5','I' --注意条件是 id=1
3、读入
sp_textcopy 'roy','sa','wuxi','test','photo','photo','E:\photo\photo\21.jpg','where id=1','I' --注意条件是 id=1sp_textcopy 'roy','sa','wuxi','test','photo','photo','E:\photo\photo\33.jpg','where id=2','I' --注意条件是 id=2go4、读出成文件
sp_textcopy 'roy','sa','wuxi','test','photo','photo','E:\photo\roy.jpg','where id=1','O' --注意条件是 id=1
sp_textcopy 'roy','sa','wuxi','test','photo','photo','E:\photo\roy1.jpg','where id=2','O'
sp_textcopy 'roy','sa','wuxi','test','photo','photo','E:\photo\roy2.jpg','where id=3','O'
sp_textcopy 'roy','sa','wuxi','test','photo','photo','E:\photo\roy3.jpg','where id=4','O'sp_textcopy 'roy','sa','wuxi','test','photo','photo','c:\bb.doc','where id=5','O' --注意条件是 id=2