java操作oracle里面的blob对象,无法插入
2011-11-21 11:33
447 查看
public class ttt {
private String filename="F://123.jpg"; //文本域的id
InputStream inputStream =null;
OutputStream outputStream=null;
public void fileupload() throws Exception
{
String dbUrl = "jdbc:oracle:thin:@192.168.2.150:1521:orcl";
String user = "fangyan";
String password = "fangyan";
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection c = DriverManager.getConnection(dbUrl, user, password);
Statement s = c.createStatement();
oracle.sql.BLOB blob=null;
try {//得到文件流
int rS=s.executeUpdate("insert into luyin (id,fileinfo) values('15',EMPTY_BLOB())");
ResultSet rs = s.executeQuery("SELECT fileinfo FROM luyin WHERE ID='15' FOR UPDATE");
while (rs.next()) {
/* 取出此BLOB对象 */
blob = (oracle.sql.BLOB)rs.getBlob("fileinfo");
}
/* 向BLOB对象中写入数据 */
outputStream = blob.getBinaryOutputStream();
inputStream=new FileInputStream("F://123.jpg");
System.out.println(filename+"***********\n"+filename.length());
byte[] buff=new byte[(int)filename.length()];
int index=0;
while ((index=inputStream.read(buff))!=-1) {
outputStream.write(buff);
}
// ResultSet sa=s.executeQuery("update luyin set fileinfo='"+buff+"' where id=15");
System.out.println(buff);
inputStream.close();
outputStream.flush();
} catch (Exception e) {
System.out.println(e.getMessage()+"************");
}
}
public static void main(String[] args) throws Exception {
ttt t=new ttt();
t.fileupload();
}
}
求求各位大神,告诉我为什么!
private String filename="F://123.jpg"; //文本域的id
InputStream inputStream =null;
OutputStream outputStream=null;
public void fileupload() throws Exception
{
String dbUrl = "jdbc:oracle:thin:@192.168.2.150:1521:orcl";
String user = "fangyan";
String password = "fangyan";
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection c = DriverManager.getConnection(dbUrl, user, password);
Statement s = c.createStatement();
oracle.sql.BLOB blob=null;
try {//得到文件流
int rS=s.executeUpdate("insert into luyin (id,fileinfo) values('15',EMPTY_BLOB())");
ResultSet rs = s.executeQuery("SELECT fileinfo FROM luyin WHERE ID='15' FOR UPDATE");
while (rs.next()) {
/* 取出此BLOB对象 */
blob = (oracle.sql.BLOB)rs.getBlob("fileinfo");
}
/* 向BLOB对象中写入数据 */
outputStream = blob.getBinaryOutputStream();
inputStream=new FileInputStream("F://123.jpg");
System.out.println(filename+"***********\n"+filename.length());
byte[] buff=new byte[(int)filename.length()];
int index=0;
while ((index=inputStream.read(buff))!=-1) {
outputStream.write(buff);
}
// ResultSet sa=s.executeQuery("update luyin set fileinfo='"+buff+"' where id=15");
System.out.println(buff);
inputStream.close();
outputStream.flush();
} catch (Exception e) {
System.out.println(e.getMessage()+"************");
}
}
public static void main(String[] args) throws Exception {
ttt t=new ttt();
t.fileupload();
}
}
求求各位大神,告诉我为什么!
相关文章推荐
- .net操作oracle里面的blob,clob
- java 操作oracle的blob类型数据
- Oracle操作大对象BLOB示例
- oracle对大对象类型操作:blob,clob,nclob,bfile
- JAVA存取ORACLE中的BLOB对象
- Oracle与Java之对象表的操作
- 如何在oracle里面操作BLOB
- Java中对对象的操作是引用操作-建立Temp对象是,应该在循环里面new一个新的地址,再使用add添加到集合中去
- java操作oracle中blob
- 对oracle大对象(Blob,Clob)操作(增,删,改)的C#代码
- 对oracle大对象(Blob,Clob)操作(增,删,改)的C#代码(一)
- Hibernate操作Blob类型字段出现java.lang.AbstractMethodError: oracle.jdbc.driver.OracleResultSetImpl.getBlob(Ljava/lang/String;)Ljava/sql/
- 【摘抄】oracle对大对象类型操作:blob,clob,nclob,bfile
- oracle对大对象类型操作:blob,clob,nclob,bfile
- JDBC操作Oracle BLOB对象
- oracle对大对象类型操作:blob,clob,nclob,bfile
- 对oracle大对象(Blob,Clob)操作(增,删,改)的C#代码(二)
- java对oracle中blob字段的操作
- JAVA 操作 Oracle Clob,Blob
- 环境:JAVA操作Oracle中BLOB、CLOB