【问题标题】:how do I store an image to an Oracle database?如何将图像存储到 Oracle 数据库?
【发布时间】:2012-11-18 14:57:31
【问题描述】:

如何将图像存储到 Oracle 数据库中?以及如何从该数据库中检索图像?这是我的代码:

import java.io.*; 
import java.sql.*; 
import java.util.*; 
class Pic3 
{ 
    public static void main(String args[]) throws Exception 
    { 
        Statement s; 
        Connection c; 
        FileInputStream fis; 
        PreparedStatement ps; 
        File file; 
        try 
        { 
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
            c=DriverManager.getConnection("Jdbc:Odbc:sidhu","system","system"); 
            s=c.createStatement(); 
            s.execute("Create table Img1(Image_No number(5),Photo blob)"); 
        } 
        catch(Exception e1) 
        { 
            e1.printStackTrace(); 
        } 

        try 
        { 
            file=new File("f:/image.jpeg"); 
            fis=new FileInputStream(file); 

            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
            c=DriverManager.getConnection("Jdbc:Odbc:sidhu","system","system"); 

            String str="insert into Img1 values(?,?)"; 
            ps=c.prepareStatement(str); 
            ps.setInt(1,(int)file.length()); 
            ps.setBinaryStream(2,fis,(int)file.length()); 

            //System.out.println("success"); 
            ps.execute(); 

            ps.close(); 
            c.close(); 
        } 
            catch(SQLException e) 
        { 
            e.printStackTrace(); 
        } 
    } 
} 

【问题讨论】:

  • 不要将图像存储在数据库中。将图像存储在某个位置,然后将图像的路径存储在数据库中。需要时从该位置检索图像。 stackoverflow.com/questions/1212991/…

标签: java oracle10g


【解决方案1】:

像这样改变论文行

Class.forName("oracle.jdbc.driver.OracleDriver");
ps.setBinaryStream(2,fis,(byte)file.length());  

而不是

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
ps.setBinaryStream(2,fis,(int)file.length());  

因为

JDBC-ODBC bridge driver 不支持 blob,即使底层数据库支持。

【讨论】:

  • 请提供如何获取该插入图像
  • 你的意思是,你想检索存储在 Oracle 中的图像,对吗??
猜你喜欢
  • 1970-01-01
  • 2021-07-24
  • 1970-01-01
  • 2010-12-27
  • 2020-12-18
  • 2012-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多