用java从Oracle数据库取数据

查询的数据库有一列是clob类型,我用oracle.sql.CLOB sd =((OracleResultSet)rs).getCLOB(1);
if(sd!=null){
Reader is=sd.getCharacterStream();
BufferedReader br=new BufferedReader(is);
s = br.readLine();
} 读取这列的值,但是输出到控制台发现只有clob数据的第一行,为什么?
我想把这列的值取出来怎么取?数据例如:
= 黄金的定义 ==

黄金是一种贵金属,黄金有价,且价值含量比较高,“金碧辉煌”、“真金不怕火炼”、“书中自有黄金屋”等赞美之词无不表达黄金在人们心目中的崇高位置。要参与未来黄金投资,在黄金市场中获得投资增值、保值的机会,就必须对黄金属性、特点及其在货币金融中的作用有所了解。金是金属王国中最珍贵的,也是最罕最有的一种。金属可分为两大类:铁质的(FERROUS)和不含铁质类(NONEFRROUS)。铁质类的金属包括纯铁和钢,都是产量较多和便宜的金属。不含铁质类可分为3组:贵重金属、基本金属和合金。制造首饰乃用不含铁质类的金属。金的质地纯净,拥有娇人的特性,是最受人们欢迎的金属。地质学家的分析报告指出,除了在1802年才发现的钽(TANTALUM)之外,金是世上最罕有的金属,这更证明金的罕有性。。。。。。
谢谢~本人新手~

8.Oracle8/8i/9i数据库(thin模式)
//import java.sql.*;
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl为数据库的SID
Connection conn= DriverManager.getConnection(url,%%2,%%3);
Statement stmtNew=conn.createStatement();

20.数据库存入二进制字段数据
InputStream pic = new FileInputStream(dto.get(i).getLibPic());
sql = "INSERT INTO piclib (name,pic,sign,remark) VALUES (?,?,?,?)";
pstmt = con.prepareStatement(sql);
pstmt.setString(1, dto.get(i).getName());
pstmt.setBinaryStream(2,pic,(int)dto.get(i).getLibPic().length());

21.数据库取出二进制字段数据
//import java.sql.*;
public class DemoDisplayBinaryDataFromDatabase {
public static Connection getConnection() throws Exception {
String driver = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@localhost:1521:databaseName";
String username = "name";
String password = "password";
Class.forName(driver);
Connection conn = DriverManager.getConnection(url, username, password);
return conn;
}
public static void main(String args[]) throws Exception {
Connection conn = null;
ResultSet rs = null;
PreparedStatement pstmt = null;
String query = "SELECT raw_column, long_raw_column FROM binary_table WHERE id = ?";
try {
conn = getConnection();
Object[] results = new Object[2];
pstmt = conn.prepareStatement(query);
pstmt.setString(1, "0001");
rs = pstmt.executeQuery();
rs.next();
// materialize binary data onto client
results[0] = rs.getBytes("RAW_COLUMN");
results[1] = rs.getBytes("LONG_RAW_COLUMN");
} finally {
rs.close();
pstmt.close();
conn.close();
}
}
}
温馨提示:答案为网友推荐,仅供参考
相似回答