当前位置:  技术问答>java相关

大家帮帮忙解决oracle大对象的问题吧。来者有分。

    来源: 互联网  发布时间:2015-08-27

    本文导语:  这是在网上抄袭Brain(无缺公子)的代码,少作修改,没有结果。不改,也不能运行。请大家指出一下错误吧。 package mshtang.large; import java.sql.*; import java.io.*; import oracle.sql.BLOB; import oracle.jdbc.*; import mshtang.html.Databas...

这是在网上抄袭Brain(无缺公子)的代码,少作修改,没有结果。不改,也不能运行。请大家指出一下错误吧。

package mshtang.large;


import java.sql.*;
import java.io.*;
import oracle.sql.BLOB;
import oracle.jdbc.*;
import mshtang.html.DatabaseForHtml;

public class LargeObjectAction
{
  public void orablob()
  {
  }
  public static void insertblob()
  {
    try
    {
      //首先是将文件输入到数据库。
      Class.forName("oracle.jdbc.driver.OracleDriver");//注册数据库引擎。
      String dbURL = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
      String user = "mshtang";
      String passWord = "zixiatang";
      Connection conn = DriverManager.getConnection(dbURL, user, passWord);
      conn.setAutoCommit(false);//关闭自动提交,以提高性能。
      Statement stmt = conn.createStatement();//建立会话
      DatabaseForHtml sqlBean = new DatabaseForHtml();
      String sqlStr = "";
      String fileName = "";
      String displayMessage 3D "";
      try
      {
        sqlStr = "select table_name from user_tables where table_name='JPGTEST'";
        if(!sqlBean.hasResult(conn, sqlStr))
        {
          displayMessage = (stmt.executeUpdate("create table JPGTEST (fname varchar2(600), bx blob)") == 0) ? "table created successfuly" : "table created failure";
          System.out.println(displayMessage);
        }
        File file = new File("C:\程序员.doc");0D
        fileName = file.getName();
        InputStream inputStream = new FileInputStream(file);//创建输入流,将外部文件输入到InputStream 中。
        sqlStr = "INSERT INTO JPGTEST VALUES (?, ?)";
        PreparedStatement pstmt = conn.prepareStatement(sqlStr);
        pstmt.setString(1, fileName);
        pstmt.setBinaryStream(2, inputStream, inputStream.available());
        pstmt.execute();
        pstmt.close();
      }
      catch(SQLException e)
      {
        e.printStackTrace();0D
        System.out.println("数据库异常:" + e.getMessage());
      }
      //以下是从库中读取文件。
      sqlStr = "SELECT * from JPGTEST where fname='" + fileName + "'";
      System.out.println(sqlStr);
      ResultSet rset = stmt.executeQuery(sqlStr);
      if(rset.next())
      {
        BLOB blob = ((OracleResultSet)rset).getBLOB(2);//获取文件字段。
        File binaryFile = new File("D:\test\程序员.doc");
        FileOutputStream fileOutStream = new FileOutputStream(binaryFile);//创建文件输出流。
        InputStream instream 3D blob.getBinaryStream();//建立输入流,并将字段comment的值以流的形式,放入instream变量。0D
        byte[] buffer = new byte[instream.available()];
        instream.read(buffer);//将文件流存入变量buffer,以buffer为中转
        fileOutStream.write(buffer, 0, buffer.length);//将buffer写入文件输出流。
        instream.close();//关闭流
        fileOutStream.close();
      }
      rset.close();
      stmt.close();
      conn.close();
      System.out.print("ok");0D
    }
    catch(Exception ee)
    {
      System.out.println(ee.getMessage());
    }
  }

  public static void main(String args[])
  {
    insertblob();
  }
}

================================================================

CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!

★  浏览帖子速度极快![建议系统使用ie5.5以上]。 ★  多种帖子实现界面。 
★  保存帖子到本地[html格式]★  监视您关注帖子的回复更新。0D
★  可以直接发贴、回复帖子★  采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录! 
★  支持在线检测程序升级情况,可及时获得程序更新的信息。
0A
★★ 签名  ●  
     可以在您的每个帖子的后面自动加上一个自己设计的签名哟。

Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar

|
用getObject()方法可以很好地完成。

|
up

    
 
 

您可能感兴趣的文章:

  • 帮帮忙!!!来者有分.
  • 各位帮帮忙,小弟准备跳槽,,看我值多少钱,来者有分.
  • 帮帮忙!SCO OpenServer 5.0.5 的root用户口令丢了,怎么找回来啊,帮帮忙!!!!!!
  • 谁知teleport pto v1.29.1590的注册码,帮帮忙。马上结分
  • 各位大哥帮帮忙。谁知道怎么加可用分?
  • 该死的中文显示问题,帮帮忙
  • 如何获得string中某特定第二个字符,请帮帮忙!
  • 关于聊天室的问题,请大家帮帮忙,一定给分
  • 帮帮忙!!!!我的RH8装不进去!!!
  • 急!大家帮帮忙!有哪些视频点播系统能在在LINUX下安装以及怎样安装!
  • 急!大家帮帮忙!有什么视频点播系统能在LINUX下安装,以及怎样安装!!
  • 大家帮帮忙!!急!!怎样安装.bin的文件!!!
  • 帮帮忙!关于红帽子9的!(在线等)
  • 新手上路,大家帮帮忙
  • QTextBrowser的拖影问题,各位大虾,帮帮忙
  • 各位高手帮帮忙,急啊!
  • 大家帮帮忙!急啊
  • U盘的LINUX系统问题,大虾们帮帮忙。
  • 高手帮帮忙,SHELL脚本编程~~~~~~~~~~~~~~~~~~
  • 跪求啊,我的邮箱密码忘记了,那位大侠帮帮忙啊
  • 大家帮帮忙----linux下的编程到底要学哪些东西?
  • 限制ssh登录,放开sftp登录,怎么办?跪求高手帮帮忙!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java开发知识 iis7站长之家
  • 没人帮忙吗?我想用JAVA编一个像WINDOW中的画图软件,现在出现了如下问题,请各位老哥老姐帮帮忙
  • 为什么在笔记本电脑上无法运行reahat?各位大哥帮帮忙
  • 郁闷死了555555555555,大哥哥,大姐姐们帮帮忙哦
  • 救命,系统无法连通网络,大家帮帮忙
  • 兄弟们,请帮帮忙吧,关于LINUX 的调度和时钟中断处理代码的分析!在线等待啊。。。:(
  • 在线等待,java字符集的问题.急,请大家帮帮忙?
  • 各位帮帮忙啊,多谢了
  • 备份问题请大家帮帮忙?
  • 谁可以帮帮忙
  • 菜鸟问题,着急呀,大家帮帮忙呀!!
  • 帮帮忙!
  • 请大家帮帮忙推荐几本书
  • 我想装redhat7.2,帮帮忙!
  • 大家好!我最近一个浏览器的原代码不知道怎么编译运行。。请帮帮忙?
  • 一定高分给去!高手请来帮帮忙。
  • 高手们快来帮帮忙啊,,好郁闷!!!LINUX 9.0装不上的问题!
  • 一个linux shell编程求素数问题 高手帮帮忙啊
  • 我就想要下载个简单的UNIX操作系统,做学习用.各位朋友,帮帮忙吗..
  • 三星的p28装red hat9。0,网卡认不出,有哪位知道的帮帮忙


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3