Oracle 操作图片

 package testapp;

import java.sql.*;
import java.io.*;

public class Blobtest {

public Blobtest() { }

public static void main (String args [])
throws SQLException, IOException
{
//write();
read();

}

static void read() throws SQLException, IOException {
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

// Connect to the database
// You can put a database name after the @ sign in the connection URL.
Connection conn =
DriverManager.getConnection (/"jdbc:oracle:thin:@ebizser:1521:serverdb/", /"scott/", /"tiger/");

// It/'s faster when you don/'t commit automatically
conn.setAutoCommit (false);

// Create a Statement
Statement stmt = conn.createStatement ();


// Do a query to get the row with NAME /'StreamExample/'
ResultSet rset =
stmt.executeQuery (/"select col2 from lobtest where userid=1/");

// Get the first row
if (rset.next ())
{
// Get the data as a Stream from Oracle to the client
InputStream gif_data = rset.getBinaryStream (1);

// Open a file to store the gif data
FileOutputStream os = new FileOutputStream (/"example.jpe/");

// Loop, reading from the gif stream and writing to the file
int c;
while ((c = gif_data.read ()) != -1)
os.write (c);

// Close the file
os.close ();
}    

// Close all the resources
if (rset != null)
rset.close();

if (stmt != null)
stmt.close();

if (conn != null)
conn.close();
}

static void write() throws SQLException, IOException {

DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
// Connect to the database
// You can put a database name after the @ sign in the connection URL.
Connection conn =
//DriverManager.getConnection (/"jdbc:oracle:thin:@ebizser:1521:serverdb/", /"scott/", /"tiger/");
DriverManager.getConnection (/"jdbc:oracle:oci8:@ebdb/", /"scott/", /"tiger/");

// It/'s faster when you don/'t commit automatically
conn.setAutoCommit (false);

// Create a Statement


File file = new File(/"C:Documents and Settingsgzb.ECOMMy DocumentsMy Pictures28-3-16933_jinxishan34s.jpe/");

InputStream is = new FileInputStream (/"C:Documents and Settingsgzb.ECOMMy DocumentsMy Pictures28-3-16933_jinxishan34s.jpe/");
PreparedStatement pstmt =
conn.prepareStatement (/"insert into lobtest (userid, col2 ) values (?, ?)/");

pstmt.setBinaryStream(2, is, (int)file.length ());
pstmt.setInt (1, 2);
pstmt.execute ();


if (pstmt != null)
pstmt.close();

if (conn != null)
conn.close();
}

}
程序员特区

 

http://coderarea.net/html/shujukukaifa/Oracle/2009/0311/60218.html


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值