Welcome 微信登录

首页 / 数据库 / MySQL / Google地图是如何用Oracle进行图片的存储的

Google地图是基于Oracle查询的,那么,Google是如何把地图存储到Oracle里面的呢?这里我们借助dbms_lob包来简单了解一下流程。1)创建一个t表:
  1. 00:32:04 hr@ORCL (^ω^) create table t (a varchar2(20),b blob);  
  2.   
  3. 表已创建。  
2)写一个存储过程:
  1. CREATE OR REPLACE PROCEDURE think   (p_1 VARCHAR2,     p_2 VARCHAR2    , p_3  varchar2  )   
  2. AS  
  3.   v_f BFILE;  
  4.   v_b blob;  
  5. BEGIN  
  6.   INSERT INTO t  values(  p_1,     EMPTY_BLOB ()    )   RETURN  b    into v_b;  
  7.     
  8.     
  9.     v_f := BFILENAME (p_2,p_3);  
  10.    DBMS_LOB.FILEOPEN  (v_f, DBMS_LOB.FILE_READONLY);  
  11.    DBMS_LOB.LOADFROMFILE (v_b, v_f,   DBMS_LOB.GETLENGTH (v_f));  
  12.    DBMS_LOB.FILECLOSE (v_f);  
  13.    commit;  
  14.    end;  
此处记得检查一下我们的过程是否有误:select * from user_errors3)sys用户创建directory对象并授权:
  1. 00:44:12 sys@ORCL (^ω^) create directory dir as "C:UsersAdministrator";  
  2.   
  3. 目录已创建。  
  4.   
  5. 00:45:21 sys@ORCL (^ω^) grant all on directory dir to hr;  
4)执行存储过程
  1. begin  
  2.   think( "This is my pic 1""DIR""psu.jpg"   );  
  3. end;  
5)查询(基于pl/sql查询)select * from t  查询效果如下:当然了,Google不可能用pl/sql来展现它的图片。可能是java开发的app,也可能是其他。在Linux上使用MySQL的心得整理Oracle约束知识笔记相关资讯      Oracle存储过程 
  • Oracle存储过程拼接in语句 & 自定  (今 09:21)
  • 【PL/SQL系列】Oracle存储过程使用  (04月23日)
  • Oracle存储过程及Java调用  (05/28/2015 20:29:33)
  • Java调用Oracle存储过程返回多条结  (04月29日)
  • Oracle中的存储过程简单应用  (04月10日)
  • 判断点是否落在面中的Oracle存储过  (05/09/2015 09:39:30)
本文评论 查看全部评论 (1)
表情: 姓名: 字数


评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款