在sql server中如何存储查询*.tif格式的文件 怎么没有人回复阿,告诉我怎么存储也可以阿 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 --不建议存储二进制流,那样生成文件效率不高--如果非要存储文件到数据库,可以用大力的这个方法,你的*.tif格式文件就是个很普通的文件和*.jpeg 或者*.word文件是一样的!/*--利用 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] 求高手教教我,如何把连接数据库的代码封装起来,然后在其他文件调用,,在线等待。。 高手解决啊!急! 问一个查询分析器测试通过,页面调用却出错的问题 已知一个表的主键,如何查得到主键所在的表名,列名,以及和这个表关联的表名及其列名???谢谢!!!!! 如何取30-40条记录? 【高分求解】是否会发生加了索引并排序后,结果仍然是未排序的呢? sql虚拟表有什么好处,有了解的吗,帮忙解释下吧~ 捆饶我好几天的问题,求解!谢谢。 求高手。急求一存储过程。。。。 SQL排序分组 类似交查表的查询语句 数据库问题 ,求大侠帮忙
--如果非要存储文件到数据库,可以用大力的这个方法,你的*.tif格式文件就是个很普通的文件和*.jpeg 或者*.word文件是一样的!
/*--利用 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,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]