使用java从数据库到文件的多个图像检索

时间:2016-12-17 20:00:29

标签: java

我一直在尝试从image表格中检索第二列为image的所有图片。代码看起来不错但产生错误invalid column index。请帮助。

package p1;
import java.sql.*;  
import java.io.*;  
public class test 
{  
    public static void main(String[] args) 
    {  
        try
        {  
            Class.forName("oracle.jdbc.driver.OracleDriver");  
            Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","system","admin");       
            PreparedStatement ps=con.prepareStatement("select image from imagetable");  
            ResultSet rs=ps.executeQuery(); 
            int i=0; 
            while(rs.next())
            {           
                 Blob b=rs.getBlob(2);  
                 byte barr[]=b.getBytes(1,(int)b.length());       
                 FileOutputStream fout=new FileOutputStream("d:\\img"+i+".png"); i++; 
                 fout.write(barr);               
                 fout.close();  
             }//end of while  

            System.out.println("ok");                
            con.close();  
         }
         catch (Exception e)    
         {
            e.printStackTrace(); 
         }  
     }  
 }  

1 个答案:

答案 0 :(得分:1)

尝试

Blob b=rs.getBlob("image"); 

而不是

 Blob b=rs.getBlob(2);

异常的原因是您正在检索单个值,这就是列索引无效的原因。