怎么设计这个数据库 同意楼上,用image字段,将版式在word中排好,然后直接将word文件保存到数据库中. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 --保存方法:/*--利用 textcopy.exe文件实现在数据库中存储/读取文件 需要textcopy.exe文件,该文件可以在sql 7.0安装光盘找到--转贴自大力--*/--建立存取处理的存储过程if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_textcopy]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[sp_textcopy]GOCREATE 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) --I 为存储到数据库,O 从数据库中读出成文件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 go--调用示例:--1.创建示例表和初始化数据create table tb(id int,img image)insert tb select 1,0x union all select 2,0xgo--2.将文件保存到数据库中declare @srv varchar(255),@db sysname,@tb sysname,@col sysnameselect @srv=@@servername --服务器名 ,@db=db_name() --数据库名 ,@tb='tb' --表名 ,@col='img' --列名sp_textcopy @srv,'sa','sa的密码',@db,@tb,@col,'c:\test.jpg','where id=1','I' --保存到id=1的记录中,注意条件是:id=1sp_textcopy @srv,'sa','sa的密码',@db,@tb,@col,'c:\test.doc','where id=2','I' --保存到id=2的记录中,注意条件是:id=2--3.从数据库中读出保存为文件sp_textcopy @srv,'sa','sa的密码',@db,@tb,@col,'c:\test.jpg','where id=1','O' --读出id=1的记录,注意条件是:id=1sp_textcopy @srv,'sa','sa的密码',@db,@tb,@col,'c:\test.doc','where id=2','O' --读出id=2的记录,注意条件是:id=2--删除测试环境drop table tbif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_textcopy]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[sp_textcopy] 存文件不失为一个方法,文件存成jpg文件,数据库只纪录相对路经和文件名 如何解决DBCC SHRINKFILE不起作用 求真相。。。。。。。。。。。。。 SQL 数据类型问题 在sql_server中如何为XML字段内容分页??? sysname的含义 问个问题,怎么以最小值为查询条件 关于sql的问题2 sql server不能启动服务了 数据库问题,如何解答? 是OleDB和ODBC的差别吗? 如何列出一个库中每个表的字段个数? 请教一个数据设计的问题
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_textcopy]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[sp_textcopy]
GOCREATE 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) --I 为存储到数据库,O 从数据库中读出成文件
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
go--调用示例:
--1.创建示例表和初始化数据
create table tb(id int,img image)
insert tb
select 1,0x
union all select 2,0x
go--2.将文件保存到数据库中
declare @srv varchar(255),@db sysname,@tb sysname,@col sysname
select @srv=@@servername --服务器名
,@db=db_name() --数据库名
,@tb='tb' --表名
,@col='img' --列名
sp_textcopy @srv,'sa','sa的密码',@db,@tb,@col,'c:\test.jpg','where id=1','I' --保存到id=1的记录中,注意条件是:id=1
sp_textcopy @srv,'sa','sa的密码',@db,@tb,@col,'c:\test.doc','where id=2','I' --保存到id=2的记录中,注意条件是:id=2--3.从数据库中读出保存为文件
sp_textcopy @srv,'sa','sa的密码',@db,@tb,@col,'c:\test.jpg','where id=1','O' --读出id=1的记录,注意条件是:id=1
sp_textcopy @srv,'sa','sa的密码',@db,@tb,@col,'c:\test.doc','where id=2','O' --读出id=2的记录,注意条件是:id=2--删除测试环境
drop table tb
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_textcopy]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[sp_textcopy]