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

JAVA中存文件到ORACLE数据库里怎么做?

发布网友 发布时间:2022-05-03 11:16

我来回答

3个回答

热心网友 时间:2022-05-03 12:45

参考代码如下:
public class InsertBlobData {
Connection con = null;

/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
InsertBlobData data = new InsertBlobData();
data.insertBlogInfo("002jpg", "sdsdfdf", "2007-02-12", "002.jpg");
}
public void insertBlogInfo(String jmzh, String xm, String smsj,
String fileName) throws Exception {
//try {
con = ConnectionPoliceFactory.getFactory().getConnection();
//} catch (ClassNotFoundException e) {
//// TODO Auto-generated catch block
//e.printStackTrace();
//}
// 处理事务
boolean defaultCommit = con.getAutoCommit();
con.setAutoCommit(false);
Statement st = con.createStatement();
// 插入一个空对象
st.executeUpdate("insert into ksren_txxx(jmzh,xm,smsj,txsj) values('"
+ jmzh + "','" + xm + "',to_date('" + smsj
+ "','yyyy-mm-dd'),empty_blob())");
// 用for update方式锁定数据行
ResultSet rs = st
.executeQuery("select txsj from ksren_txxx where jmzh='"
+ jmzh + "' and xm='" + xm + "' for update");
if (rs.next()) {
// 得到java.sql.Blob对象,然后Cast为oracle.sql.BLOB
oracle.sql.BLOB blob = (oracle.sql.BLOB) rs.getBlob(1);
// 到数据库的输出流
OutputStream outStream = blob.getBinaryOutputStream();
// 这里用一个文件模拟输入流
InputStream fin = new FileInputStream(new File(fileName));
// 将输入流写到输出流
byte[] b = new byte[blob.getBufferSize()];
int len = 0;
while ((len = fin.read(b)) != -1) {
outStream.write(b, 0, len);
// blob.putBytes(1,b);
}
// 依次关闭(注意顺序)

fin.close();
outStream.flush();
outStream.close();
con.commit();
/* 恢复原提交状态 */
con.setAutoCommit(defaultCommit);
con.close();

}
}
}

热心网友 时间:2022-05-03 14:03

package com.jspdev.ch13;
import com.jspdev.util.*;
import java.sql.*;
import javax.sql.*;
import java.io.*;
import oracle.jdbc.driver.OracleResultSet;
import oracle.sql.BLOB;
public class BlobBean
{

Connection conn ;
/**
*构造方法,创建Connection对象,并且在数据库中添加一个表。
*/
public BlobBean()throws Exception
{

DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
conn = DriverManager.getConnection("jdbc:oracle:thin:system@127.0.0.1:1521:hellking", "system", "manager");
// conn.createStatement().execute("create table blobtable(blobvalue blob)");
}

/**
*写入Blob数据到数据库
*/
public void addBlob(String fileName)throws Exception
{

conn.setAutoCommit(false);
Statement stmt = conn.createStatement();
stmt.execute("insert into blobtable values (empty_blob())");
ResultSet rset = stmt.executeQuery("SELECT blobvalue FROM blobtable FOR UPDATE");
BLOB blob = null;
while (rset.next()) {
blob = ((OracleResultSet) rset).getBLOB(1);
System.out.println(blob.length());
}
File binaryFile = new File(fileName);
System.out.println(fileName+"'s length = " + binaryFile.length());
FileInputStream instream = new FileInputStream(binaryFile);
OutputStream outstream = blob.getBinaryOutputStream();
int chunk = blob.getChunkSize();
System.out.println("chunk size = " + chunk);
byte[] buffer = new byte[chunk];
int length = -1;
while ((length = instream.read(buffer)) != -1)
outstream.write(buffer, 0, length);
instream.close();
outstream.close();
conn.commit();

}

热心网友 时间:2022-05-03 15:38

先连接数据库才行,你问的太笼统了
我不知道怎么回答你
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我在石家庄我的显卡坏了过了保修期我想问一下哪里可以修? 梦见蹲了半天的茅房 2016寒假小结作文怎么写 荣耀9,为什么电量现在越来越不耐用,之前更 哪些是易燃易爆场所 加油站有哪些消防安全隐患 说美国和苏联可以毁灭地球若干次的说法是怎么算出来的? 上证指数的年线怎么看? 早教中心需要什么证件 开办早教中心需要哪些许可证 白萝卜跟菠菜可以一起吃吗 白菜红萝卜能不能一起吃 白菜可以和白萝卜一起吃吗 白菜和白萝卜能同吃吗 白萝卜大白菜能同吃吗 白菜和萝卜可以一起吃吗 白萝卜和白菜可以同吃吗 萝卜和白菜可以一起吃吗 vivox23和华为p20哪个好用 看了华为p20和vivox23平常就玩王者吃鸡没事听听歌那款比较好 华为p20pro和vivox23入手哪款比较好啊 IE的加载项都禁用怎么开启 华为p20和vivox23选哪个? 华为p20和vivox23那个值得买? 被盗手机号码被换了,我应该怎么盗回来? 华为p20和vivox23那个好一点 华为p20和vivox23哪个更好? vivo x23和华为p20哪个更好?大神来分析一下 vivox23和华为p20怎么样,那个好用一点? 在excel 中如何隐藏其它单元格 女装微商文案素材,??? 四美草的功效与作用到哪能买到? 怎么在朋友圈推广自己另个卖女装的文案? 绞股蓝茶的功效有哪些 做茶叶枕头,是用喝完的茶叶做还是用没喝的茶叶做? 怎么的回事,网络机顶盒突然重启是什么问题 蒙顶甘露的蒙山茶的传说 《雀舌未经三月雨.龙芽先点一时春》是怎么解释? 茶叶凉枕有什么功效 天敏网络机顶盒自动重启 网络机顶盒怎样重启 移动家的 网络机顶盒不断重启 网络机顶盒为什么看直播的时候老重启 用iPhone拍摄视频的时候不小心用了延时摄影,怎样能把延时摄影变回正常 华为手机拍照后如何回到相机继续拍照 松下GF3相机怎么从延时拍摄调回正常拍摄啊 用java中的流实现将oracle数据库表中的数据保存到文件 印刷油墨费多少钱1吨 请问能推荐几款UV胶印油墨吗,耐晒达到6-7级或以上 胶印uv油墨有哪些品牌可信赖?