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]
