google地图是如何用oracle进行图片的存储的
google地图是基于oracle查询的,那么,google是如何把地图存储到oracle里面的呢?
这里我们借助dbms_lob包来简单了解一下流程。
1)创建一个t表:
00:32:04 hr@ORCL (^ω^) create table t (a varchar2(20),b blob);表已创建。
2)写一个存储过程:
CREATE OR REPLACE PROCEDURE think (p_1 VARCHAR2, p_2 VARCHAR2 , p_3 varchar2 ) AS v_f BFILE; v_b blob;BEGIN INSERT INTO t values( p_1, EMPTY_BLOB () ) RETURN b into v_b; v_f := BFILENAME (p_2,p_3); DBMS_LOB.FILEOPEN (v_f, DBMS_LOB.FILE_READONLY); DBMS_LOB.LOADFROMFILE (v_b, v_f, DBMS_LOB.GETLENGTH (v_f)); DBMS_LOB.FILECLOSE (v_f); commit; end;
此处记得检查一下我们的过程是否有误:select * from user_errors
3)sys用户创建directory对象并授权:
00:44:12 sys@ORCL (^ω^) create directory dir as 'C:\Users\Administrator\';目录已创建。00:45:21 sys@ORCL (^ω^) grant all on directory dir to hr;
4)执行存储过程
begin think( 'This is my pic 1', 'DIR', 'psu.jpg' ); end;
5)查询(基于pl/sql查询)
select * from t
查询效果如下:

当然了,google不可能用pl/sql来展现它的图片。可能是java开发的app,也可能是其他。
- 1楼liutengteng1301小时前
- 不错,加油。
我的异常网推荐解决方案:oracle存储过程,http://www.myexception.cn/oracle-develop/177537.html