问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何往oracle中的blob字段写入照片数据

发布网友 发布时间:2022-04-08 20:21

我来回答

2个回答

懂视网 时间:2022-04-09 00:42

---恢复内容开始---

1.在IDE中查看blob字段的内容可以采用:

UTL_RAW.CAST_TO_VARCHAR2(blob)的方法,其中blob为表中blob字段的列名。这个方法限定结果不可超过2000字节。

2.

更新blob时,碰到德文乱码问题,最后采用的是在转换为byte[]后,再次转换为new String(ISO-8839-1)就可以

oracle中一些关于blob字段的操作

标签:

热心网友 时间:2022-04-08 21:50

往oracle里面类型为blob写入时,必须先插入一个empty_blob,实行update……
具体java里面写入blob的代码如下:

public class applyPhotoBLOB {
final static String sDBDriver = "oracle.jdbc.driver.OracleDriver";

public static void main(String[] args) {
// TODO Auto-generated method stub
Connection connSDC = null;
Connection conn = null;
String sConnStr = "jdbc:oracle:thin:@127 0.0 1 1521:sle";
String sConnStrSDC = "jdbc:oracle:thin:@10 10 8.12:1521:rac2";
String sDBUid = "test";
String sDBPwd = "test";
String sDBUidSDC = "sdcmanager";
String sDBPwdSdc = "sdcmanager_888";

try
{
applyPhotoBLOB apply = new applyPhotoBLOB();
connSDC = apply.getConn(sConnStrSDC,sDBUidSDC,sDBPwdSdc);

if(connSDC!=null)
{
apply.testBOLB(connSDC);
}

System.out.println("处理完成!");
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
finally
{
try
{
if(conn!=null) conn.close();
if(connSDC!=null) connSDC.close();
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}
}

public void testBOLB(Connection conn) throws Exception
{
String strSQL = "Insert Into BKS_XSZPXX(XH,ZPLXM,ZP) Values('3071801040','1',empty_blob())";
updateTable1(strSQL,conn);
conn.setAutoCommit(false);
strSQL = "Select ZP from BKS_XSZPXX where XH='3071801040' For Update";

Statement stmt = null;
ResultSet rs = null;
stmt = conn.createStatement();
rs = stmt.executeQuery(strSQL);
rs.next();
BLOB blob = (BLOB) rs.getBlob("ZP");
OutputStream os = blob.getBinaryOutputStream();// 建立输出流
BufferedOutputStream output = new BufferedOutputStream(os);
BufferedInputStream input = new BufferedInputStream(new File("F:/3071801040.jpg").toURL().openStream());
byte[] buff = new byte[2048000]; //用做文件写入的缓冲
int bytesRead;
while(-1 != (bytesRead = input.read(buff, 0, buff.length)))
{
output.write(buff, 0, bytesRead);
//System.out.println(bytesRead);
}
output.close();
input.close();
rs.close();
conn.commit();
conn.setAutoCommit(true);
stmt.close();
}

private int updateTable1(String strSQL,Connection conn) throws Exception
{
PreparedStatement stmt = null;
int result = 0;
try
{

stmt = conn.prepareStatement(strSQL);
result = stmt.executeUpdate();
}
catch(Exception e)
{
throw new Exception(e.getMessage());
}
finally
{
stmt.close();
}
return result ;
}

public Connection getConn(String StrConn,String uid,String pwd) throws Exception
{
Connection conn = null;
try
{
Class.forName(sDBDriver);
conn = DriverManager.getConnection(StrConn,uid,pwd);
}
catch (Exception e)
{
throw new Exception(e.getMessage());
}
return conn;
}

}

另外:放入business里面的时候,其zp最好定义为InputStream
转载,仅供参考。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
什么是Medical Literature Analysis and Retrieval System (NLM)的缩 ... 医学工作者的因特网内容简介 2002年的一篇文章英文摘要被《医学文献联机数据库》(MEDLINE)收录,是否... 医学器具medline啥意思 民国市与县的关系是怎样的,市与县分别又是什么? 历代兵制中国民国兵制 冰箱运行时有水流声怎么回事? ud牛郎眼影真假判断 爆闪/没有平替❌ 牛郎眼影真假鉴别方法 鉴别❗️衰败城市牛郎眼影真假,粉质肉眼差距 我是淘宝卖家拒收退货后退货给买家 电脑如何操作 求二十世纪中期,1950年至1970年巴黎的境况 电脑买了14天,用着不满意。说是15天无理由包退换,我想退货,他说检测出硬件有问题才行。该怎么办? 私人影院是干什么的,为什么叫私人影院,跟普通的电影院有什么区别?? 急急急,用电脑淘宝怎么退货啊,不懂啊,新手, 物流行业用金蝶财务软件是否适合? 求每天做哪些事情能让女朋友感动 要现实点的 黑龙江首信财税服务有限公司海城分公司怎么样? 笔记本电脑退货 我要怎么重置 用友软件怎么样? 电脑拆封了用什么理由退货比较好 黑龙江省广蓝财税服务有限公司怎么样? 有黑龙江省哈尔滨的神州数码ERP、财务、办公自动化(OA)、管理软件代理吗? 用友财务软件在哪买 黑龙江省地税企业财务报表申报客户端 双击后 弹出 “请安装EXCEL软件” 应该怎么解决 电脑退货发现鼠标忘记退了怎么办? 肉夹馍的具体做法? 本公司为用友在黑龙江省设立的总代理,专业从事餐饮酒店财务管理软件就找用友,专业技术人员为您解答 网购的电脑我想退货 应该怎么做 黑龙江省 适合企业管理的 软件 比如财务 物流 生产 等最好能有电话 咨询一下 开露天电影院 电脑易成系统怎么退单? 湖南耒阳的五一电影院附近能摆地摊吗?一般收多少摊费?有知道的吗说... wm wp7 苹果 米狗 还有将来的阿里云系统以及诺基亚和微软合作的系统(不知道叫什么名字)哪个费流量 高考物理一轮怎么复习 请问阿里云os系统和安卓系统那个好?好处在那些方面? 手机安卓系统边种机够好? 为什么很多杂牌山寨手机都喜欢使用阿里云Yun OS系统???用正版安卓不好吗??? 阿里云OS操作系统和安卓区别 1.5平方的铜线能带1.5匹的空调吗? 1.5匹的空调用1.5平方的铜线可以么 1.5匹空调能用1.5平方的线吗 1.5平方铜线能带空调吗 这是几平方的铝线,能带动1.5匹的空调吗? 1.5平方铜线能带几个1.5匹的空调同时 被封号是什么原因? 你好,我想找回以前探探号码? 1.5平方塑料铜芯电线能负1.5P空调吗 1.5的线能装1.5P的空调吗? 1·5平方铜线可用l·5匹空调吗