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.mzph.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 …