四、存储图像数据的方法举例
4.1 建立具有BLOB字段的ORACLE数据库
按照如下步骤来完成各个操作:
(1)创建表空间:
CREATE TABALEESPACE VIDO_STORE DATAFILE'C:DATABASEtest.dbf' SIZE 200M
(2)创建表:
create table part( part_id NUMBER, 主建 part_name VARCHAR2(20), part_image BLOB, part_desc CLOB part_colla BFILE );
这个数据库第一列存储一个码,第二列存储名称,另外三列存储lob型数据。
(3)创建新的用户:如user1/pass1,赋予connect,resource权限。
(4)创建逻辑目录:
bfile类型有着特殊性,跟clob,blob不同。实际的数据文件存储在的外面:所以有两个特点:1.没有事务性控制 2.bfile是只读的,不能用dbms_lob或oracl8 oci进行修改。 为了访问外部文件,服务器需要知道文件在操作系统中的位置。下面我们建立一个目录:操作系统
create DIRECTORY utils AS '/home/utils';
utils表示目录逻辑名,'/home/utils'是实际目录。
总结:
表空间 VIDO_STORE
Oracle service_names: oradb
Oracle用户名: user1
户名密码: pass1
测试表名: test
tnsnames: oradb
逻辑目录: utils
4.2利用Visual Basic 6.0来处理大对象
在vb中处理大对象,一般可以用OO4O(oracle objects for ole)来处理。这里介绍一种不用0040处理大对象blob的方法。
下面这段程序可以将一个图像数据保存到数据库中,并可以将其从数据库读出。
程序中需要两个commandbutton
cmd1 名称 cmdsave caption 保存
cmd2 名称 cmdread caption 读取
向数据库中写入数据:
Dim OraSession As OraSession Dim OraDatabase As OraDatabase Dim OraDynaset As OraDynaset Dim PartDesc As OraClob Dim buffer As String Dim chunksize As Long Dim amount_written As Long '建立OraSession对象. Set OraSession = CreateObject("OracleInProcServer.XOraSession") '打开数据库连接建立OraDatabase 对象. Set OraDatabase = OraSession.OpenDatabase("ExampleDb", "scott/tiger", 0&) '建立 OraDynaset 对象 Set OraDynaset = OraDatabase.CreateDynaset("select * from part", 0&) Set PartDesc = OraDynaset.Fields("part_desc").Value chunksize = 32000
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- 存储过程 (2966篇文章)
- 数据库专栏 (5163篇文章)
- 数据库处理专题 (8684篇文章)
- 城域网专题 (7833篇文章)
- 网络存储—光纤通道 (3025篇文章)
- 数据库安全技术专题 (13169篇文章)
- 数据库安装与卸载 (10543篇文章)
- Oracle 10g基础应用 (4472篇文章)
- 服务器存储专栏 (8330篇文章)
- Linux数据库宝典 (13157篇文章)
- 如何手工创建Oracle数据库 (1次浏览)
- 数据库文件的加载和挂起 (0次浏览)
- 数据库技术:在不断的完善中继续前行 (0次浏览)
- 安装Oracle 9i遇到的两个问题 (0次浏览)
- TransactionScope中优先使用Oracle的.NET驱动 (0次浏览)
- 详细介绍手工创建oracle数据库 (0次浏览)
- 数据安全手册:数据保存四项注意 (0次浏览)
- 几种oracle数据库恢复的练习示例 (0次浏览)
- 提高Oracle数据库系统Import的性能 (0次浏览)
- Oracle 9i在AIX上的性能调整 (0次浏览)



