如何把文本文件的数据导入到ORACLE数据库里? sql load的一点小总结http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=197926 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public void kanrijyohoInsert (DBAccessExt db , String system_id , String reception_id , String master_gid , String filename , File file) throws Exception { ResultSet rs = null ; StringBuffer sql = new StringBuffer("") ; //新規登録 sql.append(" INSERT INTO EXT_DOCUMENT "); sql.append(" VALUES ( "); sql.append("'" + replaceSQLString(system_id) + "' , "); sql.append("'" + replaceSQLString(reception_id) + "' , "); sql.append("'" + replaceSQLString(master_gid) + "' , "); sql.append(" 2 , "); sql.append("'" + replaceSQLString(filename) + "' , "); sql.append(" EMPTY_BLOB() , "); sql.append("'text/xml' , "); sql.append("'" + "' , "); sql.append(" EMPTY_BLOB() , "); sql.append("'" + "' , "); sql.append(" EMPTY_BLOB() , "); sql.append(" 0 , "); sql.append("SYSDATE, "); sql.append("SYSDATE, "); sql.append("'" + "' , "); sql.append("'" + "' , "); sql.append("'" + "' , "); sql.append("'" + "' "); sql.append(" ) "); db.insert(sql.toString()); //検索 sql = new StringBuffer(""); sql.append(" SELECT * FROM EXT_DOCUMENT ") ; sql.append(" WHERE RECEPTION_ID = '" + replaceSQLString(reception_id) + "'"); sql.append(" AND DOC_NUMBER = '2' "); rs = db.query(sql.toString()); if (rs.next()) { BLOB blob1 = (BLOB)rs.getBlob("INDEX_FILE"); BufferedOutputStream out1 = new BufferedOutputStream(blob1.getBinaryOutputStream()); BufferedInputStream in1 = new BufferedInputStream(new FileInputStream(file)); int buffer1; while((buffer1 = in1.read()) != -1) { out1.write(buffer1); } out1.close(); in1.close(); } }也就是说,先根据你本地硬盘上的文件做成一个File对象,然后在表里面的BLOB字段里面先插一个empty_blob()值,然后,将这条纪录选出来,用oracle.sql.BLOB这个类来将文件写入表上面这个函数大致就是这样,记得引入oracle.sql.BLOB这个包 用PB select出来之后,在ROWS里有个IMPORT就可以了 关于用sqlldr导入日期的问题 执行pl/sql块,出现:数据类型不一致: 应为 DATE, 但却获得 NUMBER PL/SQL 开发问题 Oracle 10g R2 For HP-UX PA-RISC 能安装在安腾机上吗? oracel中三个表的内连接语句怎么写 求助SQL查询大量数据的性能问题 select语句 的 IN 与NOT IN 的问题 给我给我来点ORACLE的在线教程,谢谢 急急非常急。解决就结分,不不够再加 如何可以知道一个表的创建日期和最后的修改日期??? 一个关于oracle字段排序的问题 求oracle基础知识教程
String system_id ,
String reception_id ,
String master_gid ,
String filename ,
File file) throws Exception {
ResultSet rs = null ;
StringBuffer sql = new StringBuffer("") ;
//新規登録
sql.append(" INSERT INTO EXT_DOCUMENT ");
sql.append(" VALUES ( ");
sql.append("'" + replaceSQLString(system_id) + "' , ");
sql.append("'" + replaceSQLString(reception_id) + "' , ");
sql.append("'" + replaceSQLString(master_gid) + "' , ");
sql.append(" 2 , ");
sql.append("'" + replaceSQLString(filename) + "' , ");
sql.append(" EMPTY_BLOB() , ");
sql.append("'text/xml' , ");
sql.append("'" + "' , ");
sql.append(" EMPTY_BLOB() , ");
sql.append("'" + "' , ");
sql.append(" EMPTY_BLOB() , ");
sql.append(" 0 , ");
sql.append("SYSDATE, ");
sql.append("SYSDATE, ");
sql.append("'" + "' , ");
sql.append("'" + "' , ");
sql.append("'" + "' , ");
sql.append("'" + "' ");
sql.append(" ) ");
db.insert(sql.toString()); //検索
sql = new StringBuffer("");
sql.append(" SELECT * FROM EXT_DOCUMENT ") ;
sql.append(" WHERE RECEPTION_ID = '" + replaceSQLString(reception_id) + "'");
sql.append(" AND DOC_NUMBER = '2' "); rs = db.query(sql.toString()); if (rs.next()) {
BLOB blob1 = (BLOB)rs.getBlob("INDEX_FILE");
BufferedOutputStream out1 = new BufferedOutputStream(blob1.getBinaryOutputStream());
BufferedInputStream in1 = new BufferedInputStream(new FileInputStream(file));
int buffer1;
while((buffer1 = in1.read()) != -1)
{
out1.write(buffer1);
}
out1.close();
in1.close();
} }
也就是说,先根据你本地硬盘上的文件做成一个File对象,然后在表里面的BLOB字段里面先插一个empty_blob()值,然后,将这条纪录选出来,用oracle.sql.BLOB这个类来将文件写入表上面这个函数大致就是这样,记得引入oracle.sql.BLOB这个包