oracle Blob保存方式,關于文件保存到Oracle中BLOB字段的方法及例子

關于文件保存到Oracle中BLOB字段的方法及例子

-------------------------------------------

public class FileOpClass

{

public static byte[] GetFileStream(string filepath)

{

byte[] byteArray = null;

FileStream fs = null;

try

{

fs = new FileStream(filepath, FileMode.Open);

long filelength = fs.Length;

byteArray = new byte[filelength];

fs.Read(byteArray, 0, byteArray.Length);

}

catch (Exception ee)

{

}

finally

{

if (fs != null)

{

fs.Close();

fs.Dispose();

fs = null;

}

}

return byteArray;

}

public static void WriteToFile(byte[] byteArray, string filepath)

{

if (System.IO.File.Exists(filepath) == true)

{

try

{

System.IO.File.Delete(filepath);

}

catch { }

}

FileStream fs = null;

try

{

fs = new FileStream(filepath, FileMode.OpenOrCreate);

fs.Write(byteArray, 0, byteArray.Length);

fs.Flush();

}

catch (Exception ee)

{

}

finally

{

if (fs != null)

{

fs.Close();

fs.Dispose();

fs = null;

}

}

}

}

//------------------------------------------

先插入一條objblob字段為空的記錄,用insert into tablename(objid,objname) values('xxx','yyyy');

然后對objblog字段作update方式操作

//------------------------------------------

byte[] byteArray =FileOpClass.GetFileStream(path);

object UpdateBLOBFdValue=byteArray;

//------------------------------------------

//更新BLOB字段值的方法

//------------------------------------------

public bool UpdateBLOBFieldValue(string UpdateTableName, string UpdateBLOBFieldName, object UpdateBLOBFdValue, string WhereEqFieldName, string WhereEqFdValue)

{

bool rbc = false;

DatabaseHelperClass dbh = new DatabaseHelperClass(m_Database);

DbConnection dbconn = null;

DbTransaction dbtrans = null; //Provider=OraOleDb.Oracle;

DbCommand dbCmd1 = null;

try

{

dbconn = dbh.db.CreateConnection();

if (dbconn.State != ConnectionState.Open)

{

dbconn.Open();

}

dbtrans = dbconn.BeginTransaction();

string PrixChar = dbh.PrixChar;

string x = "update " + UpdateTableName + " set " + UpdateBLOBFieldName + "=" + PrixChar + "Img where " + WhereEqFieldName + "=" + PrixChar + "tmpguid ";

byte[] byteArray = UpdateBLOBFdValue as byte[];

//

dbCmd1 = dbconn.CreateCommand();

dbCmd1.CommandText = x;

dbCmd1.CommandType = CommandType.Text;

dbCmd1.Connection = dbconn;

dbCmd1.Transaction = dbtrans;

//

DbParameter dbparam = dbh.CreateParameter("" + PrixChar + "Img", byteArray);

dbparam.Direction = ParameterDirection.Input;

dbparam.DbType = System.Data.DbType.Binary;

dbparam.Value = byteArray;

dbCmd1.Parameters.Add(dbparam);

dbCmd1.Parameters.Add(dbh.CreateParameter("" + PrixChar + "tmpguid", WhereEqFdValue));

if (dbCmd1.ExecuteNonQuery() > 0)

{

rbc = true;

dbtrans.Commit();

}

}

catch (Exception ee)

{

if (dbtrans != null)

{

dbtrans.Rollback();

}

rbc = false;

}

finally

{

if (dbCmd1 != null)

{

dbCmd1.Dispose();

dbCmd1 = null;

}

//----

if (dbtrans != null)

{

dbtrans.Dispose();

dbtrans = null;

}

if (dbconn != null)

{

dbconn.Dispose();

dbconn = null;

}

}

return rbc;

}

----the---end-------

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/528908.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/528908.shtml
英文地址,請注明出處:http://en.pswp.cn/news/528908.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python 調c++生成的dll 中識別char *_基于tensorflow 實現端到端的OCR:二代身份證號識別...

最近在研究OCR識別相關的東西,最終目標是能識別身份證上的所有中文漢字數字,不過本文先設定一個小目標,先識別定長為18的身份證號,當然本文的思路也是可以復用來識別定長的驗證碼識別的。 本文實現思路主要來源于Xlvector的博客&a…

php友價商城手游,2019年T5友價商城網站程序-偽靜態規則

# Version 3.1.0.73RewriteEngine on#RewriteBase /RewriteRule vip(.*) /shop/view.php?str$1RewriteRule ^(.*)/search(.*).html /$1/index.php?str$2RewriteRule ^(.*)/goods([0-9]*).html /$1/goods.php?id$2RewriteRule ^(.*)/(.*)list(.*).html /$1/$2list.php?str$3…

oracle 的跨天查詢,考勤跨天如何統計 - Oracle開發 - ITPUB論壇-中國專業的IT技術社區...

本帖最后由 yaksha1 于 2020-9-11 17:29 編輯請問下,目前正在統計每個人每天考勤數據是否正常,上班打一次卡,下班打一次卡,算是正常。打卡情況大致分兩種,一種是正常白班,朝九晚五,一種是跨天&a…

php程序員學什么語言好就業_2019年初中畢業生學什么專業好?學什么專業好就業?...

前言:據了解,目前我國職業人才缺口較大,市場供需不平衡。許多學生往往還沒畢業,就已經與企業簽訂了就業協議。因此,有許多家長愿意把小孩子送到專業學校進行就讀。畢竟可以學的一門好專業,對學生將來的路是…

中print中加f_Python3中的格式化輸出

Python3字符串格式化輸出有兩種形式實現:a:字符串格式化表達式: ...%... % (values)b:字符串格式化方法調用:...{}....format(values) 或者 f...{xx}...1:字符串格式化的類型碼(typecode)(表1)2: 字符串格式化表達式格…

Json-ServerMockJs簡單快速生成測試數據

Json-Server&MockJs簡單快速生成測試數據 1、Json-Server 和 MockJs的安裝 npm install -g json-server //全局安裝2、創建目錄和初始話 例如:創建D:\ProjectOne文件夾 3、打開終端或者powershell進入ProjectOne文件夾 4、初始化項目 npm init5、安裝Mock…

oracle索引sys_nc,通過dba_ind_columns表查到索引所在列的名字為SYS_NC00133$

使用下面的腳本查看表上索引相關信息:selectind.uniqueness uniq,ind.owner||.||col.index_name indname,col.column_name colnamefromdba_ind_columns col,dba_indexes indwhereind.owner upper(&ixowner)andind.table_name upper(&tabname)andcol.index…

oracle nvl和coalesce,NVL與Coalesce之間的Oracle差異

慕碼人8056858COALESCE是更現代的功能,是ANSI-92標準的一部分。NVL在Oracle具體的,它在推出80的前存在任何標準。在兩個值的情況下,它們是同義詞。但是,它們的實現方式不同。NVL總是計算兩個參數,同時COALESCE通常在找…

安卓簽名生成工具_ios app如何進行內測?ios app和安卓app的內測有何區別?

目前手機主流的操作系統分為Android和iOS兩大陣營,分別是由谷歌和蘋果進行開發維護。這兩大平臺的應用都相互獨立,無論是運行機制還是底層原理,都不一樣,所以即使是同一款App也是需要針對在兩大平臺上分別進行內測和運營、發布。那…

cx oracle dpi 1002,cx_Oracle連接數據庫總結

python中連接oracle數據庫使用第三方庫文件cx_Oracle時遇到了各種問題,網上查找資料調試了幾天才弄好,下面是不斷調試后總結的一些經驗。1.oracle客戶端(Oracle Instant Client)版本需要和操作系統版本位數相同,同時cx_Oracle官方文檔(http:/…

虛擬機python建站_搭建本地虛擬服務器linux(CentOS 7)的python虛擬環境(Hyper-V演示)...

新建虛擬機->安裝CentOS7->新建虛擬交換機:內部網絡->CentOS7設置->網絡適配器:虛擬交換機:新建虛擬交換機->進入CentOS#cd /etc/sysconfig/network-scripts/#ls -a#vi ifcfg-eth0 #(有些系統不是eth0,前面ifcfg-的…

matlab 輸入日期,matlab輸入年月日算一年中的第幾天.doc

matlab輸入年月日算一年中的第幾天clc,clear all,close alldisp This program calculates the day of year given the ;disp current date. ;month input Enter current month 1-12 : ;day input Enter current day 1-31 : ;year input Enter current year yyyy : ;%Check for …

深拷貝的缺點_拷貝?還傻傻分不清深淺?

「引言」?臣聞求木之長者,必固其根本;欲流之遠者,必浚其泉源。---- 魏征 《諫太宗十思疏》?或許你會問到,網上已經把深淺拷貝(算一個面試的高頻考點了吧)的文章都快寫爛了,為什么自己還要重新操刀寫一遍呢&#xff0…

php 失去 焦點 另一個表單獵取值,同一表單如何根據某一個文本框的值 改變另一個文本框的值...

我用的是失去焦點,然后后臺查詢到了數據,返回回來顯示不了!!$(document).ready(function(){$("#card").blur(function(){var card$("#card").val();if(card!""){$.get("{:U(guoye/yanzheng)}&…

實現文件中名詞的統計計數_通過勤哲EXCEL和Excel中的rank函數實現排名統計

如今,信息化已成為各行業企業轉型和發展的關鍵所在,信息化技術最明顯的特點是企業不同部門的人在信息技術的支撐下,可以利用豐富的資源與工具展開協作學習,在相對自由的模式和環境下,改變傳統設計相對局限、固定思維的…

php 選擇 出現列表,php – 如何從加權列表中選擇4個唯一項?

所以我有一個加權項目列表,我想從這個列表中選擇4個非重復項目.Item WeightApple 5Banana 7Cherry 12...Orange 8Pineapple 50最有效的方法是什么?我最初的嘗試是,如果一個已經被選中的項目出現的話,只需重新選擇隨后的選秀權……但是對于一個小名單,這可能會導致大…

安徽關節式焊接機器人_上下料機器人的重要性體現在哪里?它有哪些優勢?

上下料機器人是工業機器人家族中從事加工應用的重要成員之一,能滿足“快速、大批量加工節拍”、“節省人力成本”、“提高生產效率”等要求,成為越來越多中心企業的理想選擇。那么,上下料機器人有哪些特征和優勢?企業主應該如何選…

oracle查詢ora03114,求教:ora-03114錯誤從哪里排查?

ERP軟件偶爾會報 ora-03114錯誤 未連接到oracle我檢查數據庫的根超時有關的設置dba_profiles中的如下兩個參數,都是不限制connect_timeunlimitedidle_timeunlimitedsqlnet.net中,只設置了如下參數SQLNET.EXPIRE_TIME5 --這個用來清除僵死連接的監聽日志文…

python大學什么專業學校_好學校的差專業和一般大學的好專業,該怎么選?我來說真話……...

假如是985,那么只能調劑專業,那么好點211能選到不錯的專業。那該怎么選擇?其實不單單是985/211的問題,是所有考生的任何一個分數都面臨這個問題。比如清華北大被調劑,是去復交金融,還是去清華北大調劑去學環…

oracle查詢表nextval,Oracle Database 建立與查詢 Sequence

相關的 Oracle Database Sequence 資訊如下:建立 Sequence 語法create sequence ._sincrement by 1start with 1maxvalue 99999999999999999999minvalue 1nocycle;其中 :incerment: 每次增加的數值start : Sequence 開始數值maxvalue : Sequence 最大值nocycle …