用java实现 把一个文件保存到oracle数据库表中

问题描述

如何把一个文件保存到oracle数据库表中 用java实现

解决方案

public class InsertBlobData {Connection con = null;/** * @param args * @throws Exception */public static void main(String[] args) throws Exception {// TODO Auto-generated method stubInsertBlobData 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.BLOBoracle.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();}}}

时间: 2024-10-28 18:37:46

用java实现 把一个文件保存到oracle数据库表中的相关文章

jsp把图象保存到Oracle数据库中并读出直接显示到Jsp页面

jsp教程把图象保存到Oracle数据库教程中并读出直接显示到Jsp页面 结合后的图像数据,并在调用的网页上显示出图文结合后的图像(注:该servlet仅实现了JPG格式图像文件的处理,不支持GIF):   package   net.xdevelop.merge; import   javax.servlet.*; import   javax.servlet.http.*; import   java.io.*; import   java.util.*; import   java.awt

C#怎么实现点击按钮 下载制定一个文件保存到C盘呢?

问题描述 C#怎么实现点击按钮下载制定一个文件保存到C盘呢?如随便找个文件http://www.**.com/123.rar下载到C:/123.RAR呢 解决方案 解决方案二:不行,web应用不能直接对客户端进行操作解决方案三:WebClientweb=newWebClient();web.DownloadFile("http://www.**.com/123.rar","C:/123.RAR");

用java实现将各种类型的文件保存到oracle中

问题描述 请问如何用java将各种类型的文件保存到oracle中 各位前辈们 指点下! 如果可以的话麻烦解释下,谢谢 问题补充:能够详细一点吗?具体到代码的那种...谢谢! 解决方案 有如下两种办法:1 直接用blob存储文件(二进制流)2 存储文件路径解决方案二:将文件序列化,用blob存储,取得时候在反序列化

php 文本文件操作读取txt文件保存到mysql数据库

实例1.php 读txt文件插入数据库  代码如下 复制代码 <?php $m = mysql_connect('127.0.0.1','root','') or die("Invalid query: " . mysql_error()); mysql_select_db('discuz', $m) or die("Invalid query: " . mysql_error()); $handle = fopen("aa.txt", &

java bigdecimal保存到mysql数据库不保留小数点后位数问题

问题描述 java bigdecimal保存到mysql数据库不保留小数点后位数问题 单元测试执行insert方法: set值如下: sp.setMaximumDd(new BigDecimal("-0.1109")); sp.setWinningPct(new BigDecimal("0.6217")); sp.setWinningMonth(new BigDecimal("0.80")); 插入到mysql数据库中值为什么变成了这样: ![图

图片-通过jsp页面上传图,路径保存到oracle中,怎么能在上传的时候把文件的名字改成自己想要的

问题描述 通过jsp页面上传图,路径保存到oracle中,怎么能在上传的时候把文件的名字改成自己想要的 图片保存到磁盘后,当我想换掉这个图片时,用什么方法可以用新的图片覆盖掉老图片 解决方案 一般存路径就是文件改过名字的路径,再次保存新图片,取得原来的路径删除呗,然后在存 解决方案二: 上传的时候重命名同时将文件路径的信息保存到数据库. 硬盘保存文件 . 解决方案三: 用文件流写文件的时候路径不就是名字 解决方案四: 上传的时候用自己想要的名字存在服务器上就行了

java 怎么判断一个文件已经损坏了

问题描述 java 怎么判断一个文件已经损坏了 如题:用java读取jpg.jpeg.tif.tiff.pdf文件.如何才能解析到该类文件已经损坏,返回一个false值.有没有工具包能解决这问题?

从客户端取得上传的文件,然后将数据保存到ACCESS数据库

问题描述 从客户端取得上传的文件,然后将数据保存到ACCESS数据库谁做过??? 解决方案 解决方案二:那你用流的形式写入数据库就可以了.其中,fullname是获取的上传文件的路径.FileStreamfs=File.OpenRead(this.fullname);content=newbyte[fs.Length];fs.Read(content,0,content.Length);fs.Close();解决方案三:能给个详细点的列子或者代码??解决方案四:其中,fullname是获取的上传

C#如何将数据保存到acess数据库

问题描述 本人现在有一个项目,需要将treeview下面的节点保存到acess数据库,并且同时还要将DATAgridview控件9行5列的前两列保存到ACESS数据库,在此需要高手指点一下. 解决方案 解决方案二:自己用Access建一个Access.mdb的文件,然后再操作该文件,该文件就是一个数据库,数据库对象为OleCommond!操作方法和操作SqlServer是一样的!解决方案三:百度搜C#Access就可以啦--------------------------------------