檔案插入 Oracle資料庫 Blob型別
string connStr = m_db.ConnectionString;
OracleConnection raConn = new OracleConnection(connStr);
if (oraConn.State != ConnectionState.Open)
{
oraConn.Open();
}
OracleCommand cmd = oraConn.CreateCommand();
OracleTransaction tx = oraConn.BeginTransaction();
cmd.Transaction = tx;
bool returnValue = false;
try
{
cmd.CommandText = "declare xx blob; begin dbms_lob.createtemporary(xx, false, 0); :tempblob := xx; end;";
cmd.Parameters.Add(new OracleParameter("tempblob", OracleType.Blob)).Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery();
OracleLob tempLob = (OracleLob)cmd.Parameters[0].Value;
tempLob.BeginBatch(OracleLobOpenMode.ReadWrite);
tempLob.Write(p_content, 0, p_content.Length);
tempLob.EndBatch();
cmd.Parameters.Clear();
cmd.CommandText = "...";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add.....
cmd.ExecuteNonQuery();
tx.Commit();
returnValue=true;
}
catch (Exception ex)
{
returnValue = false;
tx.Rollback();
throw ex;
}
finally
{
oraConn.Close();
}
OracleConnection raConn = new OracleConnection(connStr);
if (oraConn.State != ConnectionState.Open)
{
oraConn.Open();
}
OracleCommand cmd = oraConn.CreateCommand();
OracleTransaction tx = oraConn.BeginTransaction();
cmd.Transaction = tx;
bool returnValue = false;
try
{
cmd.CommandText = "declare xx blob; begin dbms_lob.createtemporary(xx, false, 0); :tempblob := xx; end;";
cmd.Parameters.Add(new OracleParameter("tempblob", OracleType.Blob)).Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery();
OracleLob tempLob = (OracleLob)cmd.Parameters[0].Value;
tempLob.BeginBatch(OracleLobOpenMode.ReadWrite);
tempLob.Write(p_content, 0, p_content.Length);
tempLob.EndBatch();
cmd.Parameters.Clear();
cmd.CommandText = "...";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add.....
cmd.ExecuteNonQuery();
tx.Commit();
returnValue=true;
}
catch (Exception ex)
{
returnValue = false;
tx.Rollback();
throw ex;
}
finally
{
oraConn.Close();
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25897606/viewspace-712518/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle插入Blob資料的方法Oracle
- SQL Server資料型別BLOBSQLServer資料型別
- 使用PreparedStatement向資料表中插入、修改、刪除、獲取Blob型別的資料型別
- Oracle BLOB型別的資料如何檢視和下載?Oracle型別
- MySQL插入圖片或pdf檔案到資料庫中(BLOB)--load_file函式MySql資料庫函式
- C#插入Oracle中Timestamp型別資料C#Oracle型別
- Oracle blob型別資料轉換成 base64編碼Oracle型別
- JDBC 處理CLob和Blob型別資料JDBC型別
- Lazarus中對mysql資料庫Blob型別進行讀寫例子MySql資料庫型別
- oracle對BLOB型別資料的操作與效能問題(轉載)Oracle型別
- mysql BLOB型別 TEXT型別MySql型別
- MySQL 中 blob 和 text 資料型別詳解MySql資料型別
- PHP 操作 mysql blob 資料型別的欄位PHPMySql資料型別
- Firedac 在資料表中插入BLOB資料的方法
- 從鍵盤鍵入String型別的資料插入資料庫中型別資料庫
- oracle 檔案型別總結Oracle型別
- Oracle varchar2型別欄位插入插入過長資料丟失問題Oracle型別
- Oracle資料庫中對BLOB資料的操作問題Oracle資料庫
- Mysql BLOB、BLOB與TEXT區別及效能影響、將BLOB型別轉換成VARCHAR型別MySql型別
- Oracle 中LONG RAW BLOB CLOB型別介紹Oracle型別
- oracle資料庫的配置檔案Oracle資料庫
- 重建Oracle資料庫控制檔案Oracle資料庫
- oracle資料庫移動資料檔案、日誌檔案和控制檔案Oracle資料庫
- Oracle資料型別Oracle資料型別
- Oracle 資料型別Oracle資料型別
- oracle資料庫插入行更快方法Oracle資料庫
- 支援 enum 型別的欄位允許為空插入資料庫型別資料庫
- oracle資料庫redo檔案的blocksizeOracle資料庫BloC
- oracle學習(4) -資料庫檔案Oracle資料庫
- 為oracle資料庫建立口令檔案Oracle資料庫
- Oracle資料庫檔案遷移步驟Oracle資料庫
- 在ORACLE移動資料庫檔案Oracle資料庫
- 1.1. Oracle 資料庫使用者型別Oracle資料庫型別
- 如何驗證Oracle資料庫中表的型別Oracle資料庫型別
- mysql學習7:第四章:資料庫檔案--引數檔案和型別MySql資料庫型別
- python筆記-資料型別&檔案操作Python筆記資料型別
- Oracle資料型別對應Java型別Oracle資料型別Java
- 【轉】ORACLE資料型別Oracle資料型別