表tbl结构: Name Type Nullable Default Comments
---- ------------- -------- ------- --------
Fld BLOB Y
static void create(int s)throws SQLException,FileNotFoundException,IOException {
Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
try{
conn = JdbcUtils.getConnection();//连接没有问题
String sql="insert into tbl(Fld) values(?)";
ps=conn.prepareStatement(sql);
File file=new File("/D:/test.jpg");
InputStream in=new BufferedInputStream(new FileInputStream(file));
ps.setBinaryStream(1,in,(int)file.length());
int i=ps.executeUpdate();//执行到此行产生错误
in.close();
System.out.println(i);
}finally{
JdbcUtils.free(rs,ps,conn);
}
}
报错:
Exception in thread "main" java.sql.SQLException: ORA-01460: 转换请求无法实现或不合理 at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:573)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1891)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1093)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2047)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1940)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2709)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:589)
at myjdbc.CRUD.create(CRUD.java:126)
at myjdbc.CRUD.main(CRUD.java:39)
请问这是什么原因?
---- ------------- -------- ------- --------
Fld BLOB Y
static void create(int s)throws SQLException,FileNotFoundException,IOException {
Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
try{
conn = JdbcUtils.getConnection();//连接没有问题
String sql="insert into tbl(Fld) values(?)";
ps=conn.prepareStatement(sql);
File file=new File("/D:/test.jpg");
InputStream in=new BufferedInputStream(new FileInputStream(file));
ps.setBinaryStream(1,in,(int)file.length());
int i=ps.executeUpdate();//执行到此行产生错误
in.close();
System.out.println(i);
}finally{
JdbcUtils.free(rs,ps,conn);
}
}
报错:
Exception in thread "main" java.sql.SQLException: ORA-01460: 转换请求无法实现或不合理 at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:573)
at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1891)
at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1093)
at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2047)
at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1940)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2709)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:589)
at myjdbc.CRUD.create(CRUD.java:126)
at myjdbc.CRUD.main(CRUD.java:39)
请问这是什么原因?
ResultSet rs = ...
Blob blob = rs.getBlob("content");
OutputStream os = blob.setBinaryStream(0);
os.write( .....
Blob blob = conn.createBlob();
这行代码写在哪里呢?变量blob写在哪里呢?怎么都只说半句话呢?