对oracle中的BLOB的操作(读取,写入)
将BLOB保存为本地文档:
/// <summary>
/// 读出Blob字段
/// </summary>
/// <param name="commandText">sql语句,执行结果为BLOB数据</param>
/// <param name="DocumentAddress">将要把BLOB数据保存为的文档的路径</param>
public void ReadBlob(string commandText, string DocumentAddress)
{
try
{
Open();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = commandText;
// 利用事务处理(必须)
OracleTransaction transaction = cmd.Connection.BeginTransaction();
cmd.Transaction = transaction;
reader = cmd.ExecuteReader();
reader.Read();
OracleLob BLOB = reader.GetOracleLob(0);
reader.Close();
FileStream DataStream = new FileStream(DocumentAddress, FileMode.Create);
int length = 30485760;
byte[] Buffer = new byte[length];
int i;
while ((i = BLOB.Read(Buffer, 0, length)) > 0)
{
DataStream.Write(Buffer, 0, i);
}
DataStream.Close();
BLOB.Clone();
cmd.Transaction.Commit();
}
catch (OracleException e)
{
cmd.Transaction.Rollback();
throw e;
}
finally
{
Close();
}
}
将本地文档保存为BLOB类型:
/// <summary>
/// 写入Blob字段
/// </summary>
/// <param name="commandText">sql语句,执行结果为BLOB数据</param>
/// <param name="DocumentAddress">本地文档的路径</param>
public void WriteBlob(string commandText, string DocumentAddress
相关文档:
oracle表空间操作详解
1
2
3作者: 来源: 更新日期:2006-01-04
5
6
7建立表空间
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
如何解决ORA-00054资源正忙,要求指定NOWAIT?
查阅错误代码指南后有如下提示:
ORA-00054 resource busy and acquire with NOWAIT specified
Cause: The NOWAIT keyword forced a return to the command prompt because a resource was unavailable for a LOCK TABLE or SELECT FOR UPDATE command.
Action: Tr ......
1. 准备知识:ORACLE的逻辑存储管理.
ORACLE在逻辑存储上分4个粒度:表空间,段,区和块.
1.1 块:是粒度最小的存储单位,现在标准的块大小是8K,ORACLE每一次I/O操作也是按块来操作的,也就是说当ORACLE从数据文件读数据时,是读取多少个块,而不是多少行.
1.2 区:由一系列相邻的块而组成,这也是ORACLE空间分配的基本单位,举个 ......
# LISTENER.ORA Network Configuration File: /opt/oracle/product/9.2/network/admin/listener.ora
# Generated by Oracle configuration tools.
ORA92 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS ......
Oracle的锁机制归纳总结
锁是防止在两个事务操作同一个数据源(表或行)时交互破坏数据的一种机制。Oracle采用封锁技术保证并发操作的可串行性。Oracle的锁分为两大
类:数据锁(也称DML锁)和字典锁。字典锁是Oracle
DBMS内部用于对字典表的封锁。字典锁包括语法分析锁和DDL锁,由DBMS在必要 ......