免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1765 | 回复: 1
打印 上一主题 下一主题

java 读取blob运行错误?? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-06-17 15:32 |只看该作者 |倒序浏览
java 读取blob运行错误??
程序编译没有问题
但是运行出错,错误如下:
D:\test>;javac Testblob.java

D:\test>;java Testblob
Exception in thread "main" java.sql.SQLException: ORA-00917: 缺少逗号

        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:16
        at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:20
        at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543)
        at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1405)
        at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:822
)
        at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.ja
va:1446)
        at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.jav
a:1371)
        at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStateme
nt.java:1900)
        at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java
:693)
        at Testblob.writeBLOB(Testblob.java:2
        at Testblob.main(Testblob.java:1

D:\test>;


程序内容如下:

import java.util.*;
import java.sql.*;
import java.io.*;

import oracle.sql.*;
import oracle.jdbc.*;

public class Testblob {
        public static void main(String [] args)
        throws SQLException,IOException {
                //DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());  //加载一个Oracle驱动
                DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
                Connection myConnection =DriverManager.getConnection("jdbcracle:thinlocalhost:1521:HX","yxj","yxj";
                myConnection.setAutoCommit(false);
                Statement myStatement = myConnection.createStatement();
                String sourceDirectory = "D:\\test\\";
                writeBLOB(myStatement, sourceDirectory + "ORACLE.doc";
                myStatement.close();
                myConnection.close();
        }  //end of main()
               
               
private static void writeBLOB(Statement myStatement,String fileName)
        throws SQLException,IOException {
       
        //setup 1
        myStatement.executeUpdate(
        "INSERT INTO blob_content(file_name,blob_column) " +
        "VALUES ('" + fileName + "', EMPTY BLOB())"
        );
       
        //setup 2
        ResultSet blobResultSet = myStatement.executeQuery(
        "SELECT blob_conten " +
        "FROM blob_conten " +
        "WHERE file_name = '" + fileName + "'" +
        "FOR UPDATE"
        );
        blobResultSet.next();
       
        //setup 3
        BLOB myBlob =
        ((OracleResultSet) blobResultSet).getBLOB("blob_column";
       
        //setup 4
        int chunkSize = myBlob.getChunkSize();
       
        //setup 5
        byte [] byteBuffer =new byte[chunkSize];
       
        //setup 6
        File myFile = new File(fileName);
       
        //setup 7
        FileInputStream myFileInputStream =new FileInputStream(myFile);
       
        //setup 8
        long position =1;
        int bytesRead;
       
        while ((bytesRead = myFileInputStream.read(byteBuffer)) != -1) {
                myBlob.putBytes(position,byteBuffer);
               
                position += bytesRead;
        } //end of while
       
        //setup 9
        myStatement.execute("COMMIT";
       
        //setup 10
        myFileInputStream.close();
       
        System.out.println("Wrote content from file " + fileName + "to BLOB";
} //end of writeBLOB()
       
}

论坛徽章:
0
2 [报告]
发表于 2003-06-18 10:36 |只看该作者

java 读取blob运行错误??

EMPTY BLOB
--->;>;

EMPTY_BLOB
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP