Java中怎么实现txt文件批量数据导入到Oracle中,在txt中有一定的格式,解析出来导入到Oracle。

例如:2300|62220202222|2000|村镇银行3,四个字段数据解析导入Oracle对应表的字段中,怎么实现啊,那位大侠帮忙啊?

1.读取文本文件,每次读取一行,用BufferedReader
2.因为每一行中都是固定的格式,因此解析每一行中的数据。
3.将解析的数据保存到数据库。

BufferedReader br = new BufferedReader(new FileReader(new File("aa.txt")));
String temp = null;
// 假定这是你写的将数据插入数据库的接口和实现类。
Dao dao = new DaoImpl();

while ((temp = br.readLine()) != null) {
String[] strs = temp.split("|");
String s1 = strs[0];//如上面的2300
String s2 = strs[1]; // 如上面的62220202222
String s3 = strs[2];//如上面的2000
String s4 = strs[3]; // 如上面的村镇银行3
//还需要写一个方法将数据插入数据库。
dao.insert(s1,s2,s3,s4);
}
br.close();

请自行导入所需要的包,并处理异常。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-04-11
如果数据量巨大,建议使用Oracle工具进行导入,例如:SQL LOADER,就是sqlldr;高版本的Oracle支持外部表,这个超级方便,对数据量大的有格式的表直接加载不用导入。
如果数据量不是很大,并且导入需要经常操作,或者要写入到应用程序中,那么建议你使用Qincidong的答案。
第2个回答  2013-04-11
建议你用sqlldr命令,这个是oracle内置的批量导入大数据量文件的功能,效率是最高的。

需要配置一个.ctl控制文件
参考
http://zhidao.baidu.com/question/252040920.html

更加详细的命令参数可以在网上搜索一下sqlldr,很多

java实现大量数据导入功能?
2.因为每一行中都是固定的格式,因此解析每一行中的数据。3.将解析的数据保存到数据库。BufferedReaderbr=newBufferedReader(newFileReader(newFile("aa.txt")));Stringtemp=null;\/\/假定这是你写的将数据插入数据库的接口和实现类。Daodao=newDaoImpl();while((temp=br.readLine())!=null){ String...

...java写一个小程序,功能如下:可以把txt里面的数据导入到oracle...
public static void main(String[] args) { ReadTxt rt = new ReadTxt();rt.saveData("");\/\/参数为你的txt文件路径 } } 你的txt文档格式必须是:姓名 性别 年龄 中间用“ ”隔开,如有变动需改变程序 不懂的可以发我邮箱:ucfjepl@126.com ...

把一个5列字段150兆的txt文本用java导入orcale数据库如何操作较为妥当...
addBatch 将文件内容读入内存,使用sql批处理,批处理的数量一般是在50到1000,这要看数据库的吞吐量.建议你设成100个一起提交

java中如何将几万条数据解析存表
新建POJO类,用来存放解析出来的数据。要求POPO对象的属性与数据库表字段一一对应。将POJO对象持久化到数据库表中。用jdbc就可以,一条insert语句。需要的话其它OR框架如hibernate也可。

java语言如何实现拆分(最终要插入SQL语句并导入数据库中)解答详细点...
实现思路:首先oracle数据库中的插入数据可以用insert语句,之后即可通过java方式进行插入,如:String userinfo="insert into userinfo VALUES("+"'"+userD+"',sysdate"+")";\/\/之后执行插库操作。备注,实际在数据库中插入语句如下 sql:insert into userinfo values('123',sysdate);

使用java程序向oracle数据库中存储数据,部分汉字出现乱码
把页面的编码方式 改成utf-8 或者 把页面传上来的数据处理一下 String str=new String(str.getBytes("iso8859-1"),"utf-8")

用java将一条数据插入oracle,需要查看原数据库中是否有此条记录
需要用两个类来实现,DB类用来加载数据库驱动,建立数据库连接,Opdb类用来查询和插入数据 OPDB类我只写了测试用的main方法,需要调用DB类来做查询和插入数据的操作 OPDB.java的源码如下 public class Opdb { public static void main(String[] args) { DB db = new DB();String sql = "...

oracle 中存储大量文字信息用什么字段,java后台怎么实现,请举例。谢谢...
在oracle中存储大量的文字应该是用CLOB字段来存储。这种类型在用java将数据存进数据库中时比较简单,直接将String类型的文本写入就可以了。但是在从数据库中读取CLOB类型的数据到java中时比较麻烦,因为你是拿不到数据的,只能拿到这个字段的一个隐式指针,然后还要通过输入流来拿到。

在Oracle中,通过一个INSERT ALL语句批量插入数据
Oracle:INSERT ALL INTO A(field_1,field_2) VALUES (value_1,value_2)INTO A(field_1,field_2) VALUES (value_3,value_4)INTO A(field_1,field_2) VALUES (value_5,value_6)SELECT 1 FROM DUAL;在Mybatis中使用 <insert id="insertData" parameterType="java.util.List"useGeneratedKeys=...

在JAVA中, 如何将&符号插入到oracle数据表中, 请给出在JAVA中执行的SQL...
只是因为在oracle中&是替换变量的意思,你再试试,如果你换成values('ZZ','&A'||'P'),一定不行,是不是?&后面是',那就没关系,oracle认为它是个字符,如果是有其他字符,oracle就认为&后面的字符是替换变量 ,可以这么干,产生字符串的时候,判断有没有&,有&的话,切割,加|| ...

相似回答