如何向oracle中的blob列添加图片?
如题,最好给出具体的代码例子让我看看别复制粘贴,确实做过的帮帮我,确实有帮助的我会追加分数的,二楼的哥们真不错,但我用的是java,但如果没有更好的答案就追加15分......
如题,最好给出具体的代码例子让我看看
别复制粘贴,确实做过的帮帮我,确实有帮助的我会追加分数的,二楼的哥们真不错,但我用的是java,但如果没有更好的答案就追加15分.....采纳二楼的了 展开
别复制粘贴,确实做过的帮帮我,确实有帮助的我会追加分数的,二楼的哥们真不错,但我用的是java,但如果没有更好的答案就追加15分.....采纳二楼的了 展开
2个回答
展开全部
将图片插入到BLOB类型的字段中
建立一个表: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;
建立一个表: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;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
创建用例表:
CREATE TABLE documents(id INT, text CLOB(64 K) , photo Blob(1440 K));
JAVA代码示例:
File file = new File("c:\\My.JPG");
int len = (int) file.length();
InputStream fis = new FileInputStream(file);
Connection conn = DriverManager.getConnection(url); //url是具体数据库连接
PreparedStatement ps = conn.prepareStatement("INSERT INTO documents VALUES (?, ?,?)");
ps.setBinaryStream(101,fis,len);
ps.execute();
conn.commit();
更多应用学习:
ORACLE在线文档:A96591-01搜索
LOB Support in Different Programmatic Environments
CREATE TABLE documents(id INT, text CLOB(64 K) , photo Blob(1440 K));
JAVA代码示例:
File file = new File("c:\\My.JPG");
int len = (int) file.length();
InputStream fis = new FileInputStream(file);
Connection conn = DriverManager.getConnection(url); //url是具体数据库连接
PreparedStatement ps = conn.prepareStatement("INSERT INTO documents VALUES (?, ?,?)");
ps.setBinaryStream(101,fis,len);
ps.execute();
conn.commit();
更多应用学习:
ORACLE在线文档:A96591-01搜索
LOB Support in Different Programmatic Environments
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询