oracle数据库插入二进制文件

MTK平台TP驱动设备树与GPIO配置实战解析 本文详细解析了MTK平台TP驱动开发中的设备树与GPIO配置实战。通过DCT工具配置GPIO引脚,结合设备树节点定义触摸参数,并分享驱动移植、编译调试技巧及常见问题解决方案,帮助开发者快速掌握MTK触摸驱动开发核心。 阅读详情

1.创建表


大型对象(LOB)数据类型

Clob

最大4G,存储单字节字符型数据。适用于存储超长文本。

Nclob

最大4G,存储多字节国家字符型数据。适用于存储超长文本。

Blob

最大4G,存储二进制数据。适用于存储图像、视频、音频等。

BFile

最大长度是4GB,在数据库外部保存的大型二进制对象文件,最大长度是4GB。这种外部的LOB类型,通过数据库记录变化情况,但是数据的具体保存是在数据库外部进行的。 Oracle  可以读取、查询BFILE,但是不能写入,不参与事务。

 


CREATE TABLE F_STUDENT
(
  ID            NUMBER,
  NAME          VARCHAR2(12 BYTE),
  HEADERPIC     BLOB,
  STU_BIRTHDAY  DATE
)

2.jdbc连接数据库并写入数据

需要jar包:ojdbc6.jar
package com.bs.message;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.text.ParseException;


public class test {
	public static void main(String[] args) throws ParseException {
		try {

			// 调用Class.forName()方法加载驱动程序
			Class.forName("oracle.jdbc.driver.OracleDriver");

		} catch (Exception e) {

			e.printStackTrace();

		}

		String url = "jdbc:oracle:thin:@127.0.0.1:1521:xe";

		// 调用DriverManager对象的getConnection()方法,获得一个Connection对象
		Connection conn;
		String tableName="f_student";
		FileInputStream fi = null;
		try {
			fi = new FileInputStream(new File("F:\\img\\7.jpg"));
		} catch (FileNotFoundException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		try {

			conn = DriverManager.getConnection(url, "briup", "briup");

			conn.setAutoCommit(false);
			//创建一个Statement对象
			PreparedStatement ps = conn.prepareStatement("insert into " +
			  tableName + " (id,name,headerPic,stu_birthday) values (?,?,?,?)");
			ps.setLong(1, 1);
			ps.setString(2, "venbill");
			ps.setBlob(3, fi);
			//1900.1.0
			ps.setDate(4, new Date(94, 8, 19));
			ps.addBatch();
			ps.executeBatch();
			conn.commit();
			ps.close();
			conn.close();
		} catch (SQLException e) {
			e.printStackTrace();
			
		}
	}
}


3.异常处理

 java.lang.AbstractMethodError: oracle.jdbc.driver.T4CPreparedStatement.setBlob(ILjava/io/InputStream;)

原因:

setBlob(int, InputStream) was only added in Java 6. Your JDBC driver probably is out of date. Check if there's an updated version. 

oracle官网;

Downloadojdbc6.jar (2,739,670 bytes) - (SHA1 Checksum: a483a046eee2f404d864a6ff5b09dc0e1be3fe6c)
Certified with JDK 8, JDK 7 and JDK 6: It contains the JDBC driver classes except classes for NLS support in Oracle Object and Collection types.

刚开始用的ojdbc14,查看源码里面没有setBlob(int index,InputStream is)方法,换成ojdbc6完美解决。ojdbc6对应的是jdk6 、7、 8,而ojdbc14对应的是jdk1.5










社工库2.0 #大题目 社工库2.0 ###环境 whoosh2.7 jieba 12306 python3.7 网上嫖来的网页模板(感谢站长之家 ###实现效果 建立的索引文件 好看的页面 更快的查找速度 ###实现过程 具体的实现过程比较简易,毕竟whoosh已经封装的很好了 第一步 建立索引并存储 schema = Schema(zhanghao=TEXT(stored=True), code=STORED, name=TEXT(stored=True, analyzer= 阅读详情

相关推荐

AD9361 FIR 滤波器设计

matlab 得到滤波器系数

weixin_44630490的博客 1万+

Oracle数据二进制传输,Oracle数据库插入二进制字段数据

oracle数据库喜欢搞特殊,二进制字段数据不能直接插入,需先再该字段插入oracle函数返回的的初始数据,然后在查询更新该字段。下面以Blob字段类型为例:1.插入初始数据Class.forName("oracle.jdbc.driver.OracleDriver");Connection cn= DriverManager.getConnection("jdbc:oracle:thin:@19...

weixin_33539366的博客 760

从零开始:用ADS 2023手把手教你设计2.4GHz Wi-Fi LNA(基于ATF-54143,附模型文件)

本文详细介绍了如何使用ADS 2023软件设计2.4GHz Wi-Fi频段的低噪声放大器(LNA),基于ATF-54143晶体管。内容涵盖模型导入、直流工作点确定、稳定性优化、噪声匹配等关键步骤,并提供可下载的模型文件包,帮助工程师快速掌握LNA设计技巧。

weixin_42531128的博客 320

oracle 存储二进制流,oracle存二进制流

对于blob类型的数据,在oracle中是不能直接用insert into ...这样才插入数据,一定要先插入的一空的blob数据,然后 再拿出那条数据进行更新才可以成功的。做法如下:插入新数据: st.executeUpdate("insert into TESTBLOB (ID,BLOBATTR) values (1, empty_blob())");empty_blob()为oracl...

weixin_30784365的博客 1109

电驱系统功率级“多合一”解决方案

如何提升电驱动系统的产品性能、减小能耗和进一步轻量化,以加强整车市场竞争力,是摆在国内外新能源车企面前的共同课题。为此,具有多年动力总成电子系统开发经验的美国著名半导体及电子解决方案专家——德州仪器(Texas Instrument)提出了多种功率级别“多合一”整合方案和设计思路,助力新能源车企提升技术优势。

yessunday的专栏 1372

一种导弹追踪算法的MATLAB仿真实现

以下是一个用于模拟机动变轨导弹和防空导弹追踪过程的 MATLAB 代码,同时会提供 3D 效果展示。你可以运行这段代码,从而观察机动变轨导弹和防空导弹的速度与位置变化。

SmartGridequation的博客 933

java.lang.AbstractMethodError: oracle.jdbc.driver.T4CPreparedStatement.setBlob(ILjava/io/InputStream

在学习JDBC的时候,向数据库中插入blob数据时报这个错 网上查了下,oracle驱动版本的问题,原来的数据库驱动为classes12.jar,后改为ojdbc6.jar  成功运行 感谢网上的大神啊!!!! 下面贴出网友列出的各种oracle驱动版本及说明 http://blog.youkuaiyun.com/xuxurui007/article/details/17437209

u013411941的博客 5286

ISP算法:宽动态HDR

动态范围(Dynamic Range):在很多领域来表示某个变量的最大值和最小值的比值。在数字图像处理领域里,动态范围也被称为图像对比度,表示图像可以显示范围内,像素最大亮度值和最小亮度值的比值。 高动态范围图像(High Dynamic Range Image): 可以反映真实场景中高动态范围亮度信息图像。 高动态技术:能自动调整图像动态范围的一种技术。该技术是一种利用计算机高速运算产生高

a200800170331的专栏 1万+

c# oracle 新增,C#中oracle二进制文件操作(新增、修改)

/*oracle数据库方式1,参数保存,保存二进制文件,变量名sql用@,oracle用:OracleConnection oConn = new OracleConnection("Data Source=bm;Persist Security Info=True;User ID=bm;PassWord=bm;Unicode=True");string sSql = "insert into r...

weixin_39670441的博客 295

无人机导航中的坐标系统详解与转换实现

本文系统介绍了无人机导航中常用的坐标系及其转换方法。主要内容包括:1) 四种关键坐标系(大地坐标系ECEF、经纬度LLA、北东天坐标系NED、机体坐标系)的定义和特点;2) 坐标系间的转换原理与实现,重点讲解LLA与ECEF的互转公式及ECEF与NED的转换方法;3) 提供可直接使用的C++实现代码,包括基于WGS84椭球模型的精确转换算法。这些内容为无人机导航系统开发提供了实用的坐标系处理方案,能够有效解决多源数据在不同坐标系下的统一表示问题。

电脑管家 377

YOLOv5入门实践(2)——手把手教你利用labelimg标注数据集

YOLOv5入门实践第2步,手把手教你使用labelimg标注数据集

路人贾的博客 1万+

【DB笔试面试626】在Oracle中,如何查看和下载BLOB类型的数据?

♣题目部分在Oracle中,如何查看和下载BLOB类型的数据? ♣答案部分BLOB类型的数据存储的是二进制文件,例如pdf、jpg或mp4视频格式文件等。对于BL...

小麦苗DBA宝典 1458

PCL 基于法线微分(DoN)的点云分割【2026最新版】

基于法线微分的分割。博客长期更新,本文最新更新时间为:2026年5月10日。

点云侠的博客 39万+

QT在oracle日期如何赋值,QT插入DATE、BLOB等数据到Oracle

1.向Oracle数据库表中插入字段类型为DATE的日期数据时,需要通过Oracle自身的函数to_date进行转换,如下:to_date('2019-02-13 09:07:09','YYYY-MM-DD HH24:MI:SS')2.获取BOLB字段大小:dbms_lob.getlength(字段名) FILESIZE3.向数据类型为BLOB的字段中插入数据,首先需要以二进制的形式读取文件内容。...

weixin_39541681的博客 818

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Insert binary data into Oracle database

1. how to insert binary files into oracle databasegrant dba to demo identified by demo;CREATE DIRECTORY image_files AS '/Data/Files';GRANT READ ON DIRECTORY image_files TO demo;create table demo.image...

程序员备忘录 331

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

java操作Oracle数据库中的Clob,Blob字段

[code="java"] 说明1:首先所有的文件都是以二进制存储 2:二进制文件有.doc .xls .jpg 文本文件有 .txt .html .xml 先在oracle数据库中建一张表用与测试 create table CDL_TEST ( SID VARCHAR2(20) not null, IMG BLOB, ...

xiaobai233的专栏 203

QT插入DATE、BLOB等数据到Oracle

1.向Oracle数据库表中插入字段类型为DATE的日期数据时,需要通过Oracle自身的函数to_date进行转换,如下: to_date('2019-02-13 09:07:09','YYYY-MM-DD HH24:MI:SS') 2.获取BOLB字段大小: dbms_lob.getlength(字段名) FILESIZE 3.向数据类型为BLOB的字段中插入数据,首先需要以二进制的形式读...

wb175208的专栏 2695

如何将图片插入数据库

         如何将图片,Mp3 ,或是一些二进制类型的数据插入到sqlserver,或是 Oracle 数据库 . 方法是通过流进行操作.创建一张测试表(sqlserver2000)create table [pictable] (    [id] [int] identity (1, 1) not null ,    [img] [image] not null ) on [p

Shine的专栏 2万+

oracle 的BLOB插入方法

String sqlstrblob="";          sqlstrblob = "insert into document_opinion_blob(docId,CommentId,HandleName,CONTENTBLOB,Sign,SignDate)";           sqlstrblob += "values('" + docId + "',";

johennes的专栏 3928

[转贴]Java中操作数据库的Blob字段,将文件写入数据库!!!

怎样操作数据库的Blob字段将文件写入数据库!!!  急急急!!!请高手指教!!!  ---------------------------------------------------------------   希望下面的可以解决你的问题   http://otn.oracle.com/sample_code/tech/java/sqlj_jdbc/files/advanced/LOBSam

lyk831216的专栏 9177

java操作oracle中blob

package com.chinacreator.oraclelob;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.Fi

kobe1029的专栏 558

C# ORACLE插入数据提示字符串文字太长

C# ORACLE插入数据提示字符串文字太长

shghdgdd的博客 790

oracle+删除外部表数据库,Oracle10g新特性——利用外部表卸载数据

今天在看Oracle的CONCEPT文档时发现,Oracle的外部表也可以用来卸载数据了。从10.2中开始,Oracle增加了外部表的一个新的访问驱动:ORACLE_DATAPUMP。而再次之前,只有一个默认的驱动ORACLE_LOADER。使用ORACLE_DATAPUMP驱动,带来的一个优点是,可以利用外部表将数据库中的数据卸载到磁盘文件中,而这是10.1及以前版本所无法做到的。下面看一个最简...

weixin_32299949的博客 278

从mysql数据库中读取二进制文件_PHP将二进制文件存入数据库以及从数据库中读取二进制文件...

$file = 'abcd.sqlite';mysql_connect('localhost','root','123456');mysql_select_db('zblog');mysql_query('set names utf8');/*$backup_stream = file_get_contents($file);// var_dump($backup_stream);exit;// ...

weixin_31263231的博客 507

java对oracle中blob字段的操作

    写这篇博客之前,我写了关于java操作oracle中clob类行的字段。今天我要写下java操作oracle中blob类型的字段。数据的表结构我如图片所示。里面标记了颜色就是重要的哦 ^_^ import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.i

LoongHua的专栏 976
上一篇: 微信企业号开发之菜单创建和触发
下一篇: multipart/form-data多文件上传
programmeryu
博客等级 码龄11年 23粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值