ole 对象型 数据库存储用途详解
ole 对象型一般用于在数据库里面存储非结构化的二进制文件,也就是把外部文档图片音频视频这类文件,作为 ole 对象嵌入到数据表字段当中,最典型就是 access 数据库里面的 ole 对象字段,它可以保存由 ole 协议支持的各类复合文件,核心特点是文件本身的数据直接存进数据库内部,不是只保存一个外部文件路径,双击这个 ole 对象的时候,还可以调用对应的原生程序打开编辑,它适合小体积复合文件存储,不适合大体积视频大批量文件,因为会让数据库体积快速膨胀,查询性能下降,还容易出现数据库损坏,很多新手会混淆 ole 对象型和附件类型,ole 对象型是早期传统方案,附件类型是 access 后期推出的优化版本,同样可以存文件,但是管理更合理。
底层原理
ole 全称是对象链接与嵌入,ole 对象型字段按照 ole 规范,把外部应用生成的文件以二进制流的形式封装保存进数据库字段,分为两种模式,第一种是嵌入模式,文件完整数据存入数据库,数据库独立可用,就算外部原文件删除,数据库里面的 ole 对象依旧存在,第二种是链接模式,数据库只保存外部文件的引用指针,文件本体还留在电脑磁盘上,如果原文件移动或者删除,ole 对象就会失效打不开,日常 access 使用最多的是嵌入模式。
这种设计的初衷,是让数据库可以跨应用调用其他软件的内容,比如 word 文档 excel 表格绘图文件,不需要单独在外部文件夹管理,实现数据和文档集中存放。
可存储文件类型清单
办公文档类 word 文档 excel 表格 powerpoint 演示文稿
图像类 bmp jpg png gif 图片
音频类 wav mp3 音频文件
视频类 avi wmv 等视频文件
绘图类 画图文件 cad 绘图对象
其他支持 ole 协议的复合文档
适用与不适用场景对比表格
| 项目 | ole 对象型 |
|---|---|
| 适合文件 | 体积偏小的文档图片,需要内嵌在数据库,需要双击调用原程序编辑 |
| 不适合文件 | 大体积高清视频,大批量文件,需要频繁查询导出的业务数据 |
| 优点 | 集中存储,支持 ole 调用原生程序打开编辑 |
| 缺点 | 数据库快速变大,查询变慢,易损坏,跨电脑兼容性差 |
操作使用步骤
1 打开 access 数据表,设计视图,新增字段,数据类型选择 ole 对象。
2 打开数据表的数据表视图,定位到目标记录的 ole 对象字段。
3 右键该单元格,选择插入对象,选择由文件创建,浏览选中需要存入的文件。
4 按需选择是否勾选链接,如果不勾选就是嵌入,文件完整存入 ole 对象型字段,勾选链接就是只保存外部引用。
5 保存数据表,后续双击 ole 对象,系统会调用对应的软件打开这个文件。
重要注意事项
第一 ole 对象型会让数据库文件体积暴涨,大量图片视频存进去之后,access 打开卡顿,压缩修复耗时变长,严重会数据库损坏。
第二 跨电脑使用的时候,如果是链接模式,原文件路径变化 ole 对象失效,嵌入模式虽然不受外部文件影响,但是文件体积问题依旧存在。
第三 新版 access 已经推荐使用附件类型字段替代传统 ole 对象型,附件字段对文件管理优化更好,支持多文件,压缩表现优于 ole 对象型。
第四 ole 对象型只支持符合 ole 规范的应用文件,普通纯文本 txt 虽然也可以嵌入,但是一般不会选择 ole 对象型存储,直接用文本字段更合适。
ole 对象型主要用来在数据库内嵌入 ole 协议支持的二进制复合文件,常见是 word excel 图片音频视频,支持调用原生程序打开编辑,适合小文件集中存储,缺点是数据库膨胀性能下降,大批量大文件不推荐,现在很多场景已经逐步被附件字段替代,使用的时候区分嵌入和链接两种模式,理解二者失效风险。
【常见问题】
问题 1 ole 对象型可以存储 txt 纯文本文件吗
回答 1 ole 对象型理论上可以存储 txt 纯文本文件,但是一般不推荐使用 ole 对象型存放 txt,纯文本直接使用文本字段更高效,ole 对象型适合复合二进制文档。
问题 2 ole 对象型和附件字段存文件有什么区别
回答 1 ole 对象型是早期 ole 嵌入方案,会造成数据库体积大幅增大,附件字段是 access 优化方案,ole 对象型存储文件性能更差,大批量文件优先附件字段而不是 ole 对象型。
问题 3 ole 对象型存图片之后原文件删除还能打开吗
回答 1 如果插入的时候选择嵌入模式,ole 对象型已经把图片完整存入数据库,原文件删除之后 ole 对象型依旧可以打开,如果是链接模式,原文件删除 ole 对象型就会失效。
问题 4 ole 对象型适合存大容量视频吗
回答 1 ole 对象型不适合存大容量视频,ole 对象型存储大视频会让数据库体积急剧变大,查询打开卡顿,还容易数据库损坏,不推荐 ole 对象型保存大体积视频。
【免责申明】
本内容仅为数据库技术科普,不同版本 access 对 ole 对象型支持存在差异,实际业务开发请结合数据库性能需求评估,不构成系统设计强制方案建议。
相关阅读
-
ole 对象型一般用于在数据库里面存储非结构化的二进制文件,也就是把外部文档图片音频视频这类文件,作为 ol...浏览全文>>
-
面对面快传连接失败大多是两台手机的热点权限 蓝牙 系统版本 后台限制 防火墙或者 WiFi 状态不匹配造成...浏览全文>>
-
核心结论是 OH 卡牌里的情侣卡,也叫伴侣卡,属于 OH 卡体系专门面向亲密关系的衍生套装,核心用途是伴侣...浏览全文>>
-
梦见吃饺子在传统民俗解梦里属于偏吉祥的梦境,饺子外形像元宝,又自带团圆圆满的文化寓意,一般预兆顺遂圆满...浏览全文>>
-
offwhite 短袖鉴定是通过核对印花做工领标洗标吊牌面料走线印花工艺这些核心细节综合判断,不能只看单一特征...浏览全文>>
-
想把毛豆做得好吃核心就是先锁鲜再入味,很多人做毛豆发黄不进味,主要是焯水没加碱和盐,煮完没有浸泡,调味...浏览全文>>
-
ocam 录屏弹出 failedtoinitializesoundlibrary 报错,意思就是声音库初始化失败,这个报错代表 oCam 在...浏览全文>>
-
绿豆芽苗菜属于无土水培芽苗菜,不需要土壤,依靠绿豆种子自身储存的养分生长,家庭种植核心流程是选种 浸种...浏览全文>>
-
n 和 l 是普通话里面鼻音和边音,很多南方方言区容易混淆,核心区别就是发 n 的时候气流从鼻腔出来,发 ...浏览全文>>
-
龙族是江南创作的青春幻想小说,书里很多句子把少年孤独热血遗憾这些情绪融合在一起,兼具浪漫感和宿命感,也...浏览全文>>
- 梦见吃饺子预兆什么 民俗解梦详解
- 可乐鸡腿怎么做好吃 甜润入味版
- nfc 怎么复制门禁卡 详细操作步骤讲解
- nba 什么时间季后赛 赛季赛程时间详解
- 家常滑肉的做法大全 嫩滑不脱浆多口味版
- 喝茶的时候如何洗茶 正确洗茶操作讲解
- must 的否定 情态动词否定用法精讲
- 戒酒搞笑语录 朋友圈自嘲文案
- micisty 束腰 产品测评解析
- 地菍根泡酒功效作用 民间药用参考
- 吃鸡游戏名字有哪些 多风格 ID 大全
- make 的短语归纳大学 四六级核心考点汇总
- mac 休眠后无法唤醒 故障排查完整方案
- 茶艺师一般工资多少 收入构成与地区差异详解
- 草莓罐头的做法家常 酸甜透亮长久保存
- 猪拱白菜什么意思 俗语含义详解
- 怎样用烤箱烤饼干 零失败酥脆做法
- 怎么做饭好吃教学 家常厨艺提升全指南
- lol 狼人的英文全名 名称详解
- 腌尖椒的做法大全 多口味家常教程
