编程论坛's Archiver

bjgs2004 发表于 2007-3-24 20:18

oracle操作图片遇到的问题

我是oracle的初学者,我在利用oracle对图片操作时候遇到了一个问题,运行后,光标一直在闪,没反应.好像一直在往oracle写数据,没有结束似的.请各位帮我指点一下.表和java代码如下:<BR><BR>picture表:(id number,<BR>           pic blob)<BR><BR>程序代码:<BR>import java.sql.*;<BR>import java.io.*;<BR>public class sqlDo<BR>{<BR> public static void main(String args[])<BR> {<BR>      Connection conn=null;<BR>      Statement stmt=null;<BR>      ResultSet rs=null;<BR>      String sqlStr;<BR>      try<BR>        {<BR>           Class.forName("oracle.jdbc.driver.OracleDriver");<BR>        }<BR>      catch(ClassNotFoundException e)<BR>      {<BR>             System.err.println(e.getMessage());<BR>      }<BR>     try<BR>      {<BR>         String url="jdbc:oracle:thin:@localhost:1521:oradb";<BR>         String user="scott";<BR>         String password="tiger";<BR>         conn=DriverManager.getConnection(url,user,password);<BR>         conn.setAutoCommit (false);<BR>         stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);<BR>   <BR>         File filename=new File("D:\\Program Files\\Xinox Software\\JCreatorV3\\workplace\\db\\su.jpg");<BR>         FileInputStream fin=new FileInputStream(filename);<BR>   <BR>         sqlStr="insert into picture values(?,?)";<BR>         PreparedStatement prestmt=conn.prepareStatement(sqlStr);<BR>         prestmt.setBinaryStream(2,fin,(int)filename.length());<BR>         prestmt.setInt(1,1);<BR>         prestmt.execute();<BR>   <BR>         rs=stmt.executeQuery("select * from picture");<BR>         rs.absolute(1);<BR>         InputStream in=rs.getBinaryStream(2);<BR>         FileOutputStream fout=new FileOutputStream("D:\\Program Files\\Xinox Software\\JCreatorV3<a>\\workplace\\db\\fsu.jpg</A>");<BR>      byte[] b=new byte[0x7a120];<BR>      while ((in.read(b))!=-1)<BR>      {<BR>       fout.write(b);  <BR>      }<BR><BR>   fout.close(); <BR>   fin.close();<BR>   in.close(); <BR>   conn.close();<BR>   stmt.close();<BR>   prestmt.close();<BR>   rs.close();<BR>  }<BR>  catch(Exception ce)<BR>  {<BR>   System.err.println(ce.getMessage());<BR>  } <BR> }      <BR>}

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.