Operate blob data in Oracle via C#
oracle table:
CREATE TABLE "SCOTT"."TEST_BLOB"
( "NAME" VARCHAR2(200),
"PHOTO" BLOB
)
Operating Code:
private static void OprBlob()
        {
            var connStr = ConfigurationManager.ConnectionStrings["ora"].ConnectionString;
using (OracleConnection conn = new OracleConnection())
            {
                conn.ConnectionString = connStr;
                conn.Open();
                var cmd = conn.CreateCommand();
                cmd.CommandText = @"
begin
insert into test_blob values(:1,:2);
end;
";;
                byte[] photo;
                using (var fileStrm = new FileStream(@"D:\abc.png", FileMode.Open))
                {
                    photo = new byte[fileStrm.Length];
                    fileStrm.Read(photo, 0, photo.Length);
                }
                cmd.Parameters.Add("name", OracleDbType.NVarchar2,"Phil",ParameterDirection.Input);
                cmd.Parameters.Add("photo", OracleDbType.Blob, photo, ParameterDirection.Input);
cmd.ExecuteNonQuery();
            }
using (OracleConnection conn = new OracleConnection())
            {
                conn.ConnectionString = connStr;
                conn.Open();
                var cmd = conn.CreateCommand();
                cmd.CommandText = @"
begin
select photo into :1 from test_blob where rownum =1;
end;
"; ;
var photoParam = cmd.Parameters.Add("p", OracleDbType.Blob, ParameterDirection.Output);
cmd.ExecuteNonQuery();
byte[] photo2 = (byte[])((Oracle.DataAccess.Types.OracleBlob) photoParam.Value).Value;
using (var fileStrm = new FileStream(@"D:\phil.png",FileMode.CreateNew))
                {
                    fileStrm.Write(photo2,0,photo2.Length);
                    fileStrm.Flush(true);
                }
            }
}
Operate blob data in Oracle via C#的更多相关文章
- How to get blob data using javascript XmlHttpRequest by sync
		
Tested: Firefox 33+ OK Chrome 38+ OK IE 6 -- IE 10 Failed Thanks to 阮一峰's blog: http://www.ruanyifen ...
 - caffe出错:Unknown bottom blob 'data' (layer 'conv1', bottom index 0)
		
原文https://blog.csdn.net/u011070171/article/details/75425740 caffe训练出现如下错误: Unknown bottom blob 'data ...
 - Data Base oracle常见错误及解决方案
		
Data Base oracle常见错误及解决方案 一.TNS协议适配器错误: 原因: 此问题的原因都是由于监听没有配置好. 解决: 1.打开oracle工具Net Manager,删除服务及监听,重 ...
 - Data Base  Oracle 常用命令
		
Data Base Oracle 常用命令 1.登录:(不需要密码,属于管理员权限) conn /as sysdba; 2.查看数据库存储位置: select name from v$datafil ...
 - Manipulating Data from Oracle Object Storage to ADW with Oracle Data Integrator (ODI)
		
0. Introduction and Prerequisites This article presents an overview on how to use Oracle Data Integr ...
 - Flashback Data Archive ( Oracle Total Recall ) introduced in 11g
		
Flashback Data Archive feature is part of Oracle Total Recall technology. Flashback Data Archive fea ...
 - Streaming data from Oracle using Oracle GoldenGate and Kafka Connect
		
This is a guest blog from Robin Moffatt. Robin Moffatt is Head of R&D (Europe) at Rittman Mead, ...
 - SQOOP Load Data from Oracle to Hive Table
		
sqoop import -D oraoop.disabled=true \ --connect "jdbc:oracle:thin:@(description=(address=(prot ...
 - oracle闪回、闪回数据归档Flashback Data Archive (Oracle Total Recall)的真正强大之处、11gR2增强以及合理使用
		
oracle的闪回很早就出来了,准确的说一直以来应该都较少被真正用户广为使用,除了dba和极少部分开发人员偶尔用于逻辑出错.误删恢复之外,较少被用于产生更有价值的用途. 各种闪回表flashback ...
 
随机推荐
- C# 多线程写文件,时常写不成功
			
在项目中,做一个文本日志功能 为了不影响页面响应速度,所以使用了多线程,在测试的时候,风险文件写入时常不成功,经过一番周折, 发现th.IsBackground = true;后台线程不为主线程的子线 ...
 - 16年青岛网络赛 1001 I Count Two Three
			
题目链接:http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1001&cid=723 I Count Two ThreeTi ...
 - codeforces195c
			
link:http://codeforces.com/problemset/problem/336/C 从大到小枚举,如果对应的二进制位不等于0,就加进来,最后的sum如果%2^k==0那么就是合法的 ...
 - For xml path
			
Select * from tb for xml path('') 特点: 1. 以xml形式展示查询数据. 2. 自定义数据展示类型. 实例: 1. Select * from tb for xml ...
 - 数迹学——Asp.Net MVC4入门指南(3):添加一个视图
			
方法返回值 ActionResult(方法执行后的结果) 例子1 public ActionResult methordName() { return "string"; } 例 ...
 - Javascript操作Cookie的脚本 — CookieHelper
			
var HttpCookie = function(name, value, expires, path, domain) { if (name) this.Name = name; if (valu ...
 - Sql日期时间格式转换(转)
			
原文出自:http://www.cnblogs.com/Gavinzhao/archive/2009/11/10/1599690.html sql server2000中使用convert来取得dat ...
 - ecstore菜鸟电子面单对接摘要
			
1.token长度要150以上 2.redirect_uri不一致,保持一致吧先 3.返回的xml解析问题,php5.3里得到的不是数组,而是simplexml,还得再转化一下 4.后期考虑做成通用型 ...
 - SSIS 部署到SQL Job
			
微软 BI 系列随笔 - SSIS 基础 - 部署SQL Job 简介 在之前博客中,讲述了如何实现SSIS的项目部署以及利用SSIS的参数与环境加速部署,参见 微软 BI 系列随笔 - SSIS 基 ...
 - angular+bootstrap+MVC--之一,入门
			
这篇直奔MVVM主题,本例实现一个bootstrap的下拉框. 展示了如下技术: 1.MVVM绑定(事件绑定,值绑定,循环绑定,循环绑定中嵌套事件并回传item), 2.angul多module, 建 ...