在JDBC中,setBinaryStream()方法给oracle的BLOB字段插值时报错

问题描述

报错:仅能绑定要插入LONG列的LONG值我是通过JDBC的方式从Oracle获取表数据,并通过WebService方式传输,然后别的应用获取后,插入到别的数据库。从Oracle获取BLOB字段时是通过getBinaryStream()获取的,传输后,在另外的应用中冶获得了该值,但通过setBinaryStram()插入时,如果获取的BLOB字段的内容太大(我存放的是图片),则会报上述错误,如果内容不大,则可以成功插入。ps:试过setByte()方式插入,但也包上述错误。与setBinaryStram()报错一致。还有setBlob()方式,没有用过,不知道setBlob(参数1,参数2)中的参数2是BLOB类型的,百度了一些说无法从InputStram类型或者byte[]类型转换成BLOB。

解决方案

解决方案二:
依稀记得老版本Oracle的BLOB字段写入貌似要用Update语句,这么直接是啥版本的新特性啊?

时间: 2024-11-05 19:35:33

在JDBC中,setBinaryStream()方法给oracle的BLOB字段插值时报错的相关文章

急!用jdbc中executeQuery()方法执行查询为什么在程序中停顿很长时间,甚至报错。

问题描述 急!用jdbc中executeQuery()方法执行查询为什么在程序中停顿很长时间,甚至报错. 程序中的sql如以下: select t3.*,t1.costPrice as costP,t1.retailPrice as retailP,t1.basicPricing as basicP from goodsGroupCopy t1 left join groupCopyGoods t2 on t1.id = t2.goodsGroupCopyId left join goods t

如何在oracle的blob字段里保存多个文件

Oracle的BLOB字段类型可以用来保存长2进制数据.但是通常读写BLOB字段数据的代码都是很罗嗦,非细心编码很容易出错.我把这个功能集成到我的OCI包装库(ORADBI)中.下面的例子就是演示如何使用ORADBI把多个文件按保存到一个字段里. 我在另外的例子中将演示如何把BLOB字段中的数据还原为文件. 整个ORADBI是我在OCI基础上写的C语言API.从创作这个API到一直不断的更新维护,已经有1年多了.我也将一直维护下去,不断完善和添加新的功能.ORADBI是完全免费和完全开源的,使用

winform-引用.net中的System.speech包,但是在程序运行时报错。

问题描述 引用.net中的System.speech包,但是在程序运行时报错. C# Winform项目中,利用Windows类库,引用.net中的System.speech语音控制包. 在程序运行执行到"SRE.SetInputToDefaultAudioDevice();"报错,提示"值不在预期的范围内.". 但是将工程中Program.cs文件的Main()方法上面的[STAThread] 这个关键字去掉,程序正常运行.但是将[STAThread]去掉会导致本

VB.Net在向ORACLE存储BLOb字段时,系统内存占用很大如何分块存储

问题描述 我使用的是VS2003的VB.Net在向ORACLE存储BLOb字段时,系统内存占用很大有100多兆,我存储的文件大小为30M,代码如下:那位高手能否知道如果分块存储(每次存储10240个字节,然后循环存储)的话内存就是马上降下来,请高手指点PublicSubinsertBidDoc(ByValvTmpFileAsString,ByValvPrjNoAsString,ByValvSprNoAsString,ByValvSprNameAsString)DimoCnOraAsNewOrac

h2数据库文件写入oracle的blob字段,再从blob字段读取出来,重新生成h2.db文件

问题描述 h2数据库h2.db文件写入oracle的blob字段,再从blob字段读取出来,重新生成h2.db文件之后,用jdbc访问这个重新生成h2.db文件,会报表不存在的错误,无法操作h2. 请问大概是什么原因? 解决方案 你可以按以下依次排查:1.h2.db数据库文件本身是否完整?2.存入oracle是以二进制的数据存进去的,存入取出之间对数据文件是否有完整.像你这样可以完整报表不存在的错误,我觉得跟数据库存储是没有关系的.

谢谢-C#中索引器用字符串访问离散字段运行报错

问题描述 C#中索引器用字符串访问离散字段运行报错 源代码: namespace Discrete_field { class Program { static void Main(string[] args) { PhoneBook phonebook = new PhoneBook("王小波"); phonebook["Officephone"] = "11414441"; phonebook["MOBILEphone"]

java读写oracle的blob字段示例_java

复制代码 代码如下: package com.wanmei.meishu; import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FileReader;import java.io.InputStream;import java.io.OutputStream;import java.sql.Connection;import java.sql.DriverManager;import java

如何读取Oracle的BLOB字段里的文件

使用ORADBI读取存储在BLOB字段里的多个文件,并还原到指定的路径下. 下面是完整的代码: // // read_blobfile.c - 读BLOBFILE的例子 // cheungmine@gmail.com// // 内存泄漏检测 // 在需要检测的地方放置语句: // _CrtDumpMemoryLeaks(); // 以下3句的次序不能改变 #define _CRTDBG_MAP_ALLOC #include<stdlib.h> #include<crtdbg.h>

通过JDBC操纵Oracle数据库LOB字段的几种情况分析

oracle|数据|数据库 通过JDBC操纵Oracle数据库LOB字段的几种情况分析纵横软件制作中心 雨亦奇2003-6-10 15:14:19在Oracle中,LOB(Large Object,大型对象)类型的字段现在用得越来越多了.因为这种类型的字段,容量大(最多能容纳4GB的数据),且一个表中可以有多个这种类型的字段,很灵活,适用于数据量非常大的业务领域(如图象.档案等).而LONG.LONG RAW等类型的字段,虽然存储容量也不小(可达2GB),但由于一个表中只能有一个这样类型的字段的