存读Blob Oracle

using System;
using System.Collections.Generic;
using
System.ComponentModel;
using System.Data;
using System.Drawing;
using
System.Linq;
using System.Text;
using System.Threading.Tasks;
using
System.Windows.Forms;
using System.Data.OracleClient;
using
System.IO;

namespace TestOraclBlob
{
    public
partial class Form1 : Form
   
{
        OracleConnection
conn;
        public
Form1()
       
{
           
InitializeComponent();
           
string strCon = "Data Source=orcl;Persist Security Info=True;User
ID=wcq;Password=wcq123;Unicode=True;";
           
conn = new
OracleConnection(strCon);
       
}
       
//写入数据库
        private void
button1_Click(object sender, EventArgs
e)
       
{
           
OracleCommand cmd = new OracleCommand("",
conn);

           
string path =
@"C:\Users\lenovo\Desktop\01.pdf";
           
FileStream fs = new FileStream(path, FileMode.Open,
FileAccess.Read);
           
Byte[] fsByte = new byte[fs.Length]; //把图片转成 Byte型 二进制流
 
           
fs.Read(fsByte, 0, fsByte.Length);   //把二进制流读入缓冲区 
 
           
fs.Close();

           
cmd.CommandText = "insert into Student(id,name,storeblob)
values(1,‘aa‘,:zp)";
           
cmd.Parameters.Add(":zp", OracleType.BFile,
fsByte.Length);
           
cmd.Parameters[0].Value =
fsByte;

           
conn.Open();
           
cmd.ExecuteNonQuery();

           
MessageBox.Show("插入成功!");
           
conn.Close();
       
}

        private void
button2_Click(object sender, EventArgs
e)
       
{
            string
path =
@"C:\Users\lenovo\Desktop\2.pdf";

           
DataTable dt = new
DataTable();
           
OracleDataAdapter adapter = new OracleDataAdapter("select storeBlob from
student",
conn);

           
adapter.Fill(dt);
           
Byte[] filebyte =
(byte[])(dt.Rows[1][0]);

           
FileStream fs = new FileStream(path,
FileMode.Create);

           
fs.Write(filebyte, 0,
filebyte.GetLength(0));

           
fs.Close();

           
MessageBox.Show("读取成功!");
       
}
    }

}

存读Blob Oracle,布布扣,bubuko.com

时间: 2025-01-12 18:33:55

存读Blob Oracle的相关文章

springmvc和servlet下的文件上传和下载(存文件目录和存数据库Blob两种方式)

项目中涉及了文件的上传和下载,以前在struts2下做过,今天又用springmvc做了一遍,发现springmvc封装的特别好,基本不用几行代码就完成了,下面把代码贴出来: FileUpAndDown.jsp <%@ page language="java" contentType="text/html; charset=UTF-8"%> <html> <head> <title>using commons Uplo

读《Oracle从入门到精通》笔记--持续更新中

第一章 Oracle 11g概述 1.6节 启动与关闭数据库实例 启动数据库: Startup [nomount|mount|open|force][resetrict][pfile=filename] 解释:nomount ---> 表示启动实例不加载数据库 mount ---> 表示启动实例.加载数据库并保持数据库的关闭状态 open ---> 表示启动实例.加载并打开数据库(默认选项) force ---> 表示终止实例并重新启动数据库 resetrict  --> 用

【转】如何读懂Oracle文档中的语法图

转自:http://blog.itpub.net/22990797/viewspace-750157/ Oracle文档中用到了两种表达语法的方法,语法图和BNF. BNF, Backus-Naur Form,中文是巴科斯范式:,它是由约翰·巴科斯(John Backus)和彼得·诺尔(Peter Naur)引入的用来描述计算机语言语法的符号集. 首先来看语法图.读语法图,要从左到右,顺着箭头读. 不同形状的含义: 长方形中的大写词语,命令. 椭圆形中的小写词语,参数. 圆形中,标点符号.操作符

三分钟读懂Oracle数据库容灾架之DataGuard

Oracle数据库目前依然处于商用数据库的霸主地位. 运行在Oracle数据库上的核心业务及核心数据的安全性尤为重要. 目前市场上针对Oracle数据库常见的容灾产品大致可以分为两大类. Oracle 公司自己的容灾产品 非Oracle公司的容灾产品 Oracle公司目前的容灾产品有我们常见的DataGuard和属于中间件部门的Oracle GoldenGate(以下简称OGG)产品.非Oracle公司的有DSG迪思杰 及DDS九桥,这两种产品和OGG在实现原理上大致相同. Oracle Gol

【原】js cookie 数组 存读

自己研究了一下. "Cookie里面只能放String 类型" 所以只能将arr的数据按照自己的约定转成string格式存进cookie. 这里提示一下cookie是存在本地浏览器,session是服务器上的. 将下列的数组存进cookie. 1 var arr = [ 2 {'name':'joe'}, 3 {'name':'json'}, 4 {'name':'boe'}, 5 ]; 首先是存的function function setCookie(searchWord){ var

Unity - 存读档机制简析

本文旨在于简要分析Unity中的两种存档机制,即:PlayerPrefs数据持久化方法及Serialization数据序列化方法 较比于源项目,我另加了JSON方法.XML方法等及一些Unity设置,更便于读者在使用中理解Unity的存档机制.核心脚本为Game.cs 源项目地址:How to Save and Load a Game in Unity - raywenderlich 个人项目地址:BattleSave - SouthBegonia 一.PlayerPrefs 数据持久化方法 存

oracle blob mybatis xml读写

最近项目用到了对oracle大字段的读写,小白在这里记录下,方便自己以后用到,也希望对其他朋友有一点帮助. 由于项目的原因,这里的blob只是对xml报文的读写,并没有涉及到保存图片等,因此下面涉及的方法可能不全面,如有需要请自行查看其它大神博客. 一.读blob 这里对blob的读是直接在数据库建了一个函数Blob_To_Varchar ,这样方便项目里面其它地方用到查询blob: CREATE OR REPLACE Function Blob_To_Varchar (Blob_In In B

(转载)VB 查询Oracle中blob类型字段,并且把blob中的图片以流的方式显示在Image上

原文摘自:http://heisetoufa.iteye.com/blog/504068 '模块代码 Private Declare Function CreateStreamOnHGlobal Lib "ole32" (ByVal hGlobal As Long, ByVal fDeleteOnRelease As Long, ppstm As Any) As Long Private Declare Function OleLoadPicture Lib "olepro3

ORACLE 物理读 逻辑读 一致性读 当前模式读总结浅析

在ORACLE数据库中有物理读(Physical Reads).逻辑读(Logical Reads).一致性读(Consistant Get).当前模式读(DB Block Gets)等诸多概念,如果不理解或混淆这些概念的话,对你深入理解一些知识无疑是一个障碍,但是这些概念确实挺让让人犯晕的.下面我们总结.学习一下这方面的知识点.捋一捋他们的关系和特点,希望对你有所帮助. 物理读(Physical Reads) 从磁盘读取数据块到内存的操作叫物理读,当SGA里的高速缓存(Cache Buffer