Oracle中Blob字段的写入处理(一)
韦 伟
Oracle中的Bloc字段的处理较其他字段来说,会有一些特殊性。现就对在java和pl/sql下,Blob字段的处理和大家做一些交流。
下面,简单介绍一下Blob在以下两种环境中的写入处理,
u java环境
u PL/SQL环境
一、java环境
1、 Blob的插入操作
1) 插入一空的Blob。
2) 更新该纪录的Blob。
例子:
比如表结构如下:
CREATE TABLE Student (
Name VARCHAR2(30),
Age Int,
Picture Blob);
i.插入一空的Blob。
String command=”INSERT INTO Student VALUES(?,?,?)”;
Connection conn=null;
PreparedStatement ps=null;
try
{
conn=….;
ps=conn. prepareStatement(command);
ps.setString(1,”ZhangSan”);
ps.setInt(2,20);
ps.setBlob(3, BLOB.empty_lob());
ps.executeUpdate();
…
ii.更新该纪录
…
byte[] data=null;
Connection conn=null;
Try
{
data=… //图片信息
conn=..
ByteArrayInputStream in=new ByteArrayInputStream(data);
updateBlob(in, conn, “Student”,”Picture”,”Name”,”zhangsan”);
…
…
public static void updateBlob( InputStream instream,
Connection conn,
String table,
String blobColumn,
String keyColumn,
String keyValue)
throws SQLException, IOException
{
Statement stmt = null;
OracleResultSet rs = null;
BLOB blob = null;
boolean oldAutoCommit = conn.getAutoCommit();
StringBuffer sqlBuffer = new StringBuffer();
try {
conn.setAutoCommit(false);
sqlBuffer.append("select ");
sqlBuffer.append(blobColumn);
sqlBuffer.append(" from ");
sqlBuffer.append(table);
sqlBuffer.append(" where ");
sqlBuffer.append(keyColumn);
- 2005-06-23在CMP实体BEAN中使用BLOB数据类型
- 2005-07-27 c# ,在Oracle 中,对 blob 类型对象的操作
- 2005-01-07c# ,在Oracle 中,对 blob 类型对象的操作
- 2005-07-27在Java中使用Oracle blob
- 2005-07-27关于Oracle9i中BLOB类型的操作
- 2005-08-05如何存取二进制大对象(BLOBs)
- 2006-07-11在PB中用OLE存取blob类型数据
- 2002-10-15BLOB完全实践:在Oracle中存取BLOB对象实现
- 2003-01-28关于lob字段的处理(通过modplsql处理blob)
- 2006-06-09如何存取二进制大对象(BLOBs)
热点搜索
热点文章






