Oracle读取Blob数据-通过JDBC
2011-08-05 10:41
429 查看
通过JDBC读取Blob数据,演示代码
import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class JDBC { // public static void main(String[] args) throws Exception { // // 写入BLOB数据 // // // 得到数据库连接 // Class.forName("oracle.jdbc.driver.OracleDriver"); // // Connection con = DriverManager.getConnection( // // "jdbc:oracle:thin:@192.168.0.68:1521:myOracle", "my", "123"); // // // 处理事务 // // con.setAutoCommit(false); // // Statement st = con.createStatement(); // // // 用for update方式锁定数据行 // // ResultSet rs = st.executeQuery( // // "select content from user_content where id = 2 for update"); // // if (rs.next()) { // // // 得到java.sql.Blob对象,然后Cast为oracle.sql.BLOB // // oracle.sql.BLOB blob = (oracle.sql.BLOB) rs.getBlob(1); // // // 到数据库的输出流 // // OutputStream outStream = blob.getBinaryOutputStream(); // // // 这里用一个文件模拟输入流 // // File file = new File("d:\\proxy.txt"); // // InputStream fin = new FileInputStream(file); // // // 将输入流写到输出流 // // byte[] b = new byte[blob.getBufferSize()]; // // int len = 0; // // while ((len = fin.read(b)) != -1) { // // outStream.write(b, 0, len); // // // blob.putBytes(1,b); // // } // // // 依次关闭(注意顺序) // // fin.close(); // // outStream.flush(); // // outStream.close(); // // con.commit(); // // con.close(); // } // } public static void main(String[] args) throws Exception { // 读取BLOB数据 Class.forName("oracle.jdbc.driver.OracleDriver"); Connection con = DriverManager.getConnection( "jdbc:oracle:thin:@192.168.0.68:1521:myOracle", "my", "123"); con.setAutoCommit(false); Statement st = con.createStatement(); // 这里的SQL语句不再需要”for update” ResultSet rs = st.executeQuery( "select content from user_content where id = 2"); if (rs.next()) { java.sql.Blob blob = rs.getBlob(1); InputStream ins = blob.getBinaryStream(); // 用文件模拟输出流 File file = new File("d:\\output.txt"); OutputStream fout = new FileOutputStream(file); // 下面将BLOB数据写入文件 byte[] b = new byte[1024]; int len = 0; while ((len = ins.read(b)) != -1) { fout.write(b, 0, len); } // 依次关闭 fout.close(); ins.close(); con.commit(); con.close(); } } }
相关文章推荐
- Oracle读取Blob数据-通过JDBC
- 使用JDBC和Hibernate在oracle中插入和读取Blob数据的图片的java程序
- 通过JDBC向数据库中存储&读取Blob数据
- 通过OracleDataReader来读取BLOB类型的数据 (转载)
- FLEX中的MXML通过JDBC连接ORACLE读取相关数据
- 通过OracleDataReader来读取BLOB类型的数据
- 通过OracleDataReader来读取BLOB类型的数据
- Oracle读取Blob数据-通过hibernate
- JAVA通过Hibernate将文件写入ORACLE数据的BLOB字段 代码示例
- 通过JDBC 操作 ORACLE BLOB,CLOB字段类型
- 分块读取Blob字段数据(Oracle)
- 通过Loadrunner读取excel表数据并批量更新到Oracle中
- 成功用jdbc 实现从oracle 读取出一个时间间隔的数据
- oracle blob数据类型存储读取的小例子
- JDBC+Hibernate将Blob数据写入Oracle
- 使用java JDBC方式操作oracle blob类型数据
- (转)通过JDBC 操作 ORACLE BLOB,CLOB字段类型
- C# 连接 Oracle,读取Blob字段数据,存到文件中去,包括pdf等等
- Oracle中JDBC对BLOB和CLOB读取的专用处理和通用处理
- 如何通过JDBC向数据库写入/读取大数据文件?