package myJava;import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Blob;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class TT {
static Connection con = null;
static Statement stat = null;
static PreparedStatement pstat = null;
static ResultSet res = null; public static void main(String[] args) { try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {
con = DriverManager.getConnection(
"jdbc:oracle:thin:@192.168.5.160:1521:my0id", "xuxiao",
"0000");
stat = con.createStatement();
tt();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void tt(){
Blob bl=null;
try {
con.setAutoCommit(false);
res=stat.executeQuery("select bb from test");
res.next();
bl=res.getBlob(1);
File f=new File("f:/1920SSJJ_1002.jpg");
FileInputStream fis=new FileInputStream(f);
System.out.println(f.length());
BufferedOutputStream bos=new BufferedOutputStream(bl.setBinaryStream(1));
int n=0;
n=fis.read();
while(n != -1){
bos.write(n);
n=fis.read();
}
con.commit();
} catch (SQLException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
控制台输出以下内容:
285229
Exception in thread "main" java.lang.AbstractMethodError: oracle.sql.BLOB.setBinaryStream(J)Ljava/io/OutputStream;
at myJava.TT.tt(TT.java:59)
at myJava.TT.main(TT.java:37)进行其他数据类型的读写时没这问题。
如果是jdbc驱动的问题,
能帮忙提供一个可用的oracle驱动地址吗?(oracle 9i)
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Blob;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class TT {
static Connection con = null;
static Statement stat = null;
static PreparedStatement pstat = null;
static ResultSet res = null; public static void main(String[] args) { try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {
con = DriverManager.getConnection(
"jdbc:oracle:thin:@192.168.5.160:1521:my0id", "xuxiao",
"0000");
stat = con.createStatement();
tt();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void tt(){
Blob bl=null;
try {
con.setAutoCommit(false);
res=stat.executeQuery("select bb from test");
res.next();
bl=res.getBlob(1);
File f=new File("f:/1920SSJJ_1002.jpg");
FileInputStream fis=new FileInputStream(f);
System.out.println(f.length());
BufferedOutputStream bos=new BufferedOutputStream(bl.setBinaryStream(1));
int n=0;
n=fis.read();
while(n != -1){
bos.write(n);
n=fis.read();
}
con.commit();
} catch (SQLException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
控制台输出以下内容:
285229
Exception in thread "main" java.lang.AbstractMethodError: oracle.sql.BLOB.setBinaryStream(J)Ljava/io/OutputStream;
at myJava.TT.tt(TT.java:59)
at myJava.TT.main(TT.java:37)进行其他数据类型的读写时没这问题。
如果是jdbc驱动的问题,
能帮忙提供一个可用的oracle驱动地址吗?(oracle 9i)
解决方案 »
- 求页面到servlet的javaben封装。
- messages_zh_CN.properties存放中文编码后的参数信息,具体怎么做
- 接口用abstract修饰符修饰有什么特殊作用吗?
- 窃窃的问下displaytag 和 dwr 可以做无刷新删除分页等操作吗?
- Tomcat6.0使用问题
- 请问Collection如何转换成ResultSet?
- jsp程序的jdk及tomcat打包发布
- 关于tomcat的问题
- 用Apache Soap调用Web Service能否Keep Alive=true?
- 没有源文件还能编译
- 一个C3P0最大连接的问题
- org.hibernate.QueryException: in expected错误
或者
http://download.csdn.net/source/1882529 (这个要点数)
然后你的代码不要用getBlob()了。直接用 getString()14g的驱动比较好,谁用谁知道