对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 ......
Oracle的锁机制归纳总结
锁是防止在两个事务操作同一个数据源(表或行)时交互破坏数据的一种机制。Oracle采用封锁技术保证并发操作的可串行性。Oracle的锁分为两大
类:数据锁(也称DML锁)和字典锁。字典锁是Oracle
DBMS内部用于对字典表的封锁。字典锁包括语法分析锁和DDL锁,由DBMS在必要 ......
Sql代码
1.
从游标提取数据
2. 从游标失去一起数据运用FETCH下令。每一次提取数据后,游标都指向结果集的下一起。语法如次:
3. FETCH cursor_name INTO variable[,variable,...]
4. 至于SELECT定义的游标的每一列,FETCH变量列表都应该有一个变量与之相对应,变量的部类也要雷同。
例:
5. SET SERVERIUTPUT ......
步骤:
1.首先,你要有一张表!
CREATE TABLE example(
ID Number(4) NOT NULL PRIMARY KEY,
NAME VARCHA ......