数据库的image类型的问题:
在sql server数据库中怎么存储图象数据
表里有一个数据类型是image的为什么在我想编辑时提示无法编辑该单元
问题点数:20、回复次数:5Top
1 楼netcoder(朱二)回复于 2004-11-03 15:12:28 得分 20
SQL Server中,可以用SQL Server自带的命令行工具Textcopy来实现两个功能:
1、把一个图片文件插入到数据库中
2、从数据库中取出图片保存为一个文件
注:
textcopy通常在目录Program Files\Microsoft SQL Server\MSSQL\Binn下
一、准备工作
在控制台下使用命令textcopy /? 来获取帮助
我举个实际的例子:
比如我的机器名为:ZB
登陆名: sa
密码: 密码为空
数据库名 db_test
下面建立一个表:
create table tb_test (name char(8), photo image)
插入两条数据
insert tb_test values('Tom',0x)
insert tb_test values('Mary',0x)
注意:如果这样insert tb_test values('mary',null),在插入数据的时候就会失败,出错信息为:
ERROR: Text or image pointer and timestamp retrieval failed.
可以尝试一下。
另外,在C盘根目录下可以放一个图片文件:1.bmp
二、开始插入图片
进入命令提示符,键入textcopy命令:
以下是我机器上的操作演示:
C:\>textcopy
TEXTCOPY Version 1.0
DB-Library version 8.00.194
Type the SQL Server to connect to: ZB
Type your login: sa
Type your password:
Type the database: db_test
Type the table: tb_test
Type the text or image column: photo
Type the where clause: WHERE(name='Tom')
Type the file: c:\1.bmp
Type the direction ('I' for in, 'O' for out): I
Data copied into SQL Server image column from file 'c:\1.bmp'.
也可以使用参数,这样只需要一条语句就可以实现:
C:\>textcopy /S ZB /U sa /P /D db_test /T tb_test /C photo /W WHERE(name='Tom') /F c:\1.bmp /I
TEXTCOPY Version 1.0
DB-Library version 8.00.194
Data copied into SQL Server image column from file 'c:\1.bmp'.
如果采用Windows验证,并且在服务器上操作,那写起来更为方便
textcopy /S /U /P /D db_test /T tb_test /C photo /W WHERE(name='Tom') /F c:\1.jpg /I
注:如果是从数据库中取出图片保存为一个文件,只需要把最后参数I改为O即可。Top
2 楼xzyong()回复于 2004-11-03 15:46:27 得分 0
我按照你的写法怎么打开数据库表看到的数据里面还是那样,没有看到图片,怎么才能看见图片Top
3 楼cosio()回复于 2004-11-03 15:53:21 得分 0
image 字段 是用二进制存储的!不可以改的啊!
在VB中,现将图片转为数据流! 在存储!Top
4 楼xzyong()回复于 2004-11-03 15:54:50 得分 0
那不能在数据库里直接插入一个图片吗?????Top
5 楼tx79(菜菜鸟)回复于 2004-11-04 20:32:35 得分 0
本人也在关注这个问题 帮忙顶一下Top




