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

大家来看看是不是oracle jdbc的bug?

    来源: 互联网  发布时间:2015-07-01

    本文导语:  我需要对数据库进行文件存储操作,我的数据库是oracle的,但我想完成的代码不依赖特定数据库,因此使用下面的代码:   InputStream fin = null;   OutputStream fout = null;   try{    File f = new File("g:/file.txt");     ...

我需要对数据库进行文件存储操作,我的数据库是oracle的,但我想完成的代码不依赖特定数据库,因此使用下面的代码:
  InputStream fin = null;
  OutputStream fout = null;
  try{
   File f = new File("g:/file.txt");
   
   fin = new FileInputStream(f);
   System.out.println("file =="+f.getName());
   System.out.println("file.length=="+fin.available());
    //连接数据库
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    String sUrl = "jdbc:oracle:thin:@192.168.5.80:1521:test";
    Connection con = DriverManager.getConnection(sUrl,"test","test");
   //插入空文件
    con.setAutoCommit(false);
    Statement stmt = con.createStatement();
    stmt.execute("INSERT INTO TMP_BLOB VALUES ('11', empty_blob())");
     stmt.close();
  //插入文件
  //问题出在这儿 
   PreparedStatement pstmt = con.prepareStatement("update TMP_BLOB set BLOBFIELD = ? where id ='11'");
    pstmt.setBinaryStream(1,fin,fin.available());
    pstmt.setBlob(1,blob);
   
    pstmt.executeUpdate();

    pstmt.close();
    fin.close();

    con.commit();
    System.out.println("commited!");

    }catch(Exception e){
     e.printStackTrace();
    }
////////////////////////////////////////////
我试了好几次,在oracle中文件插入不进去,得到的blob是空值。而我用oracle自带的oracle.sql.BLOB那种方法就没问题,这是不是oracle的jdbc有问题呀?
而且不知这是不是标准的通用的插入文件类型数据的方法,有用其他数据库的大虾插入文件的吗?说说你们的方法好吗?

|
pstmt.setBinaryStream(1,fin,fin.available());
pstmt.setBlob(1,blob);
为什么需要以上两句!?!

    
 
 

您可能感兴趣的文章:

  • Oracle的thin driver,是不是装了Oracle 8i就自带了还是要另外下载.
  • 问一个简单的问题,我装了oracle 8.05,我并没有发有发现JDBC这个目录,是不是我要下载jdbc for oracle。
  • 请问某个数据库(如oracle)的jdbc驱动程序是不是在所有平台下通用?
  • 编程语言 iis7站长之家
  • 大家说说,微软的jdbc是不是很烂,好多方法不支持
  • 請問12-22有位兄弟說microsoft for sql2000的jdbc有5個連接的限制是不是真的
  • Connection的setAutoCommit() 方法是不是一定要jdbc2.X方可正常运行?
  • Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");用的包是不是mssqlserver.jar,为什么还是不能正确连接的?
  • 在jsp中jdbc-odbc桥是不是不能用啊?
  • jdk1.4是不是和sql server 2000 jdbc不兼容?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Javamail要JavaBeans Activation Framework 的支持,是什么意思?是不是也要下载JavaBeans Activation Framework?他是不是也是一个包?是不
  • 请问gdb是不是只能调试gcc编译的程序,在unix下用其它编译器编译的程序是不是不一定能用gdb调试的?
  • 网站的站内搜索是怎么实现的?怎么做?在网页的头元素中有一关键词元素,是不是就是给站内搜索用的?如果我在Sina中登记我的网站,那么是不是
  • java中有没有这样的函数就是判断一个字符串里面是不是含有另外一个字符串!例如 abcdef 里面查找是不是含有de谢谢了~初学者
  • java 能做什么系统?CS是不是不行呀?开发效率岂不是很低
  • ●J2SDK和JDK是不是一个东西?如果不是,那它是什么?●
  • 在内核为2.4版本下开发的程序在2.6下编译是不是很容易会发生错误?不是应该往上兼容吗?
  • 急!!谁了解macintosh?能不能给我介绍介绍?是不是跟linux差不多?使用开发工具JDK,这是不是不JAVA?
  • 关于FIFO算法的问题(是不是页面“命中”和“淘汰”的页面不是的唯一啊
  • 看看会输出什么?结果是equal b,==在string里不是比较两个串是不是相等嘛?
  • Shell中是不是只有“空串”没有NULL?
  • locate是不是不搜寻/tmp下面的文件
  • 请教!UNIX是不是很难啊
  • 我装了zhcon,启动后屏幕刷新太慢,是不是.....
  • 实现snmp时mib文件是不是必须的?
  • solaris 8.0是不是32 bit的?
  • 进程信号是不是也是socket?
  • 请问:怎么判断linux服务器的网站系统是不是中毒了?
  • sendmail是不是linux默认安装的!
  • 在Redhat 9 中,是不是只要安装过的软件都能在开始菜单中找到?


  • 站内导航:


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

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

    浙ICP备11055608号-3