网站建设资讯

NEWS

网站建设资讯

oracle如何导入图片,oracle怎么存储图片

oracle 中如何插入 图片?

将图片插入到BLOB类型的字段中

创新互联是一家网站设计公司,集创意、互联网应用、软件技术为一体的创意网站建设服务商,主营产品:成都响应式网站建设公司品牌网站设计成都全网营销推广。我们专注企业品牌在网站中的整体树立,网络互动的体验,以及在手机等移动端的优质呈现。成都做网站、网站设计、移动互联产品、网络运营、VI设计、云产品.运维为核心业务。为用户提供一站式解决方案,我们深知市场的竞争激烈,认真对待每位客户,为客户提供赏析悦目的作品,网站的价值服务。

建立一个表:create table a(a blob);

建立一个目录:create directory tmp as 'e:\';

建立一个PL/SQL块:

declare

b_file bfile;

b_lob blob;

begin

insert into a(a) values(empty_blob()) return a into b_lob;

--为了使PL/SQL编译成功,必须先为该列插入一个empty_blob() 值,return a into b_lob将该列与一个blog类型的变量绑定在一起,以后只要为b_lob赋值,即等于将该值插入了表中。

b_file:=bfilename('tmp','filename.jpg');

--tmp是建立的文件所在的目录,filename.jpg是文件名;将文件转换为bfile类型

dbms_lob.open(b_file,dbms_lob.file_readonly);--将b_file 以只读的方式打开

dbms_lob.loadfromfile(b_lob,b_file,dbms_lob.getlength(b_file));-- 将b_file中的内容转换到b_lob中

dbms_lob.close(b_file);

commit;

end;

图片如何存放在oracle数据库

1、使用blob将图片保存为二进制格式,(可以用浏览器来转换)随后用base64编码来保存图片,再将base64编码保存进数据库的clob类型字段上。

2、然后要用一个数据名称System.Data.OracleClient。

3、创建一个储存文件,然后把相关代码写入比如string execSql="insert into clob_table(clob_id,) values(1,:clob_pic);"编写代码的时候注意,后缀的符号(;")也要写入,不然无法进行下一步指令。

4、之前上面用的是base64编码,当显示图片的时候要将图片输出到浏览器流中,不然在base64里面是看不到图片。

5、在输出的时候要把图片转换成二进制(buffur即二进制编码)。

6、随后上传即可,然二进制流也可以存成文件(File)存到FTP服务器,当需要的时候可以根据路径进行下载的。

学习ORACLE插入图片,在网上看到示例如下:

system下执行

create or replace directory BlobFile as 'C:\TEMP';--路径自己改一下

grant read on directory BlobFile to scott;

scott下建立存放的表

Create Table blobTest(

filename varchar2(200),

filedesc varchar2(200),

filebody blob);

创建过程

Create Or Replace Procedure Proc_loadBlob(p_filename varchar2,p_filedesc varchar2)

Is

src_file bfile;

dst_file BLOB;

lgh_file binary_integer;

Begin

src_file := bfilename('BLOBFILE',p_filename);

insert into blobTest(filename,filedesc,filebody)

values (p_filename,p_filedesc,EMPTY_BLOB())

returning filebody into dst_file;

dbms_lob.fileopen(src_file,dbms_lob.file_readonly);

lgh_file := dbms_lob.getlength(src_file);

dbms_lob.loadfromfile(dst_file,src_file,lgh_file);

update blobTest

set filebody = dst_file

where filename = p_filename;

dbms_lob.fileclose(src_file);

End Proc_loadBlob;

执行插入:

exec Proc_loadBlob('101101.jpeg','给图片命名);

你要是非弄个id的话,可以自己建立一个序列,到时候自增就好了呀

最后给你上图


文章标题:oracle如何导入图片,oracle怎么存储图片
文章转载:http://cdweb.net/article/dsschce.html