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);
sqlBuffer.append("=''''");
[1] [2] 下一页 [ORACLE]如何通过struts以oci协议将文件上传到oracle数据库… [ORACLE]如何在oracle里面操作BLOB [ORACLE]操作Oracle数据库实现上传图片到Blob类型的字段出… [ORACLE]下载Oracle数据库中的Blob二进制文件,实例! [ORACLE]oracle+jsp中blob类型存储大文本问题解决方法 [ORACLE]在Oracle中存取BLOB对象实现文件的上传和下载 [ORACLE]在Java中使用Oracle blob [ORACLE]c# ,在Oracle 中,对 blob 类型对象的操作 [ORACLE]关于Oracle9i中BLOB类型的操作 [ORACLE]servlet实现从oracle数据库的blob字段中读出文件并…
|