怎么直接在sql2000中存入图片

Gain123 2010-08-14 10:37:07
想往sql2000直接存入图片(其中图片都是一些小图片)
在sql2000中建了一个表,pic(picID,picContent)其中picID是自动编号,picContent 是image类型。上网搜了一些解决方案,但是还是云里雾里,不明白怎么弄。特此,想恳请大家帮助。。。当然希望大家能够讲解详细点。。。谢谢。。。
...全文
120 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Gain123 2010-08-14
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 ccs02287 的回复:]
好像是字节流方式
[/Quote]

空心兜兜 2010-08-14
  • 打赏
  • 举报
回复
好像是字节流方式
SQLCenter 2010-08-14
  • 打赏
  • 举报
回复
#5

直接查询分析器,好像2000也不能禁止xp_cmdshell,所以无需设置,找到textcopy.exe放到系统目录就行了。
Gain123 2010-08-14
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 claro 的回复:]
不建议直接存入图片。
[/Quote]
能知道原因吗?
Gain123 2010-08-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sqlcenter 的回复:]

SQL code
-- textcopy.exe 可以在 SQL Server 2000 安装光盘或安装目录找到,将文件复制到系统目录或设置环境变量
——大力——CSDN——
CREATE PROCEDURE p_txtcopy
(
@server varchar(256) = null, --> 服务器:默认为当前服务器当前实例
@login varch……


[/Quote]
首先感谢你的答疑,
但是由于我现在不能运行sql2000,所以还是请问一下,上面的代码是不是直接在查询分析器里执行,还是需要别的操作?谢谢
hao1hao2hao3 2010-08-14
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 claro 的回复:]
不建议直接存入图片。
[/Quote]

支持!存一个图片的路径即可。
claro 2010-08-14
  • 打赏
  • 举报
回复
不建议直接存入图片。
Gain123 2010-08-14
  • 打赏
  • 举报
回复
感谢你的答疑。。。
duanzhi1984 2010-08-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sqlcenter 的回复:]
SQL code
-- textcopy.exe 可以在 SQL Server 2000 安装光盘或安装目录找到,将文件复制到系统目录或设置环境变量
——大力——CSDN——
CREATE PROCEDURE p_txtcopy
(
@server varchar(256) = null, --> 服务器:默认为当前服务器当前实例
@login varch……
[/Quote]
不错。。。
SQLCenter 2010-08-14
  • 打赏
  • 举报
回复
-- textcopy.exe 可以在 SQL Server 2000 安装光盘或安装目录找到,将文件复制到系统目录或设置环境变量
——大力——CSDN——
CREATE PROCEDURE p_txtcopy
(
@server varchar(256) = null, --> 服务器:默认为当前服务器当前实例
@login varchar(256) = null, --> 用户名:默认为信任连接
@password varchar(256) = null, --> 密码
@database varchar(256) = null, --> 数据库:默认为当前数据库
@table varchar(256), --> 表名
@column varchar(256), --> 存储文件二进制流的字段名
@file varchar(256), --> 路径和文件名
@where varchar(255), --> 条件从句:where ?=? [ and ...]
@io varchar --> 方向I/O:I存储到数据库 O从数据库读出存为文件
)
AS
SET NOCOUNT ON
declare @SQL varchar(1000)
set @SQL = 'textcopy' +
' /S"' + isnull(@server, @@servername) + '"' +
' /U ' + isnull(@login, '') +
' /P ' + isnull(@password, '') +
' /D ' + isnull(@database, db_name()) +
' /T ' + @table +
' /C ' + @column +
' /W "' + @where + '"'+
' /F "' + @file + '"' +
' /' + @io
exec master..xp_cmdshell @SQL
/*
-- 创建测试表
create table textcopy_test(id int, bin image)
-- 初始化数据
insert textcopy_test select id=1, bin=0x
-- 将 d:\test.jpg 保存到 textcopy_test
exec p_txtcopy @table='textcopy_test', @column='bin', @file='d:\test.jpg', @where='where id=1', @io='I'
-- 将二进制流读出保存为 d:\test1.jpg
exec p_txtcopy @table='textcopy_test', @column='bin', @file='d:\test1.jpg', @where='where id=1', @io='O'
-- 删除测试
drop table textcopy_test
*/
SET NOCOUNT OFF
Rotel-刘志东 2010-08-14
  • 打赏
  • 举报
回复
建议数据库不要存图片,应该存把图片在磁盘路径存入数据库.

22,206

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧