1.用Java读取并解析文件,导入到数据库临时表;
2.用PLSQL对临时表数据进行处理;
3.捕捉IO及SQL异常。
2.用PLSQL对临时表数据进行处理;
3.捕捉IO及SQL异常。
解决方案 »
- Java Email [EOF] exception
- 昨天面试一家蛮厉害的公司的一道题目 100分求解
- 有人用html做过黑屏(好像dos)窗口的程序吗?
- 关于JAVA连接SQLServer2000的问题,为什么总是java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing
- java怎样调用word和excel宏
- 用Java动态代理实现AOP
- 请问怎样让一个窗口总是显示在屏幕的最前面?
- 求认证的104和147模拟题!
- 大家共同推荐好的java编程网站!
- C# vs JAVA , who is better ?????
- 关于inserinto的问题,为什么我的数据每次都插入2遍?
- 求助。哥们儿比较穷,没分了
如:
dbms_lob.fileexists(...)来判断标示文件存在与否
utl_file读文本文件,并进行处理。
这两个包没用过,帮你顶一下。
dbms_job.dbms_lob.utl_file和存储过程来实现我描述的功能,但不知道运行结果会怎样,因为数据量比较大(几百万),也不知道异常处理控制的怎么样,请搞手指点?
1 用java读文件,写入临时表。
这部分工作用java来写很简单,不用在去查看oracle的文档了;而且oracle数据库支持java类。
2 整合表使用plsql存储过程
大数据量的处理当然用存储过程,时间宝贵啊
3 使用java的异常处理机制
读文件是捕获IO异常,保证数据来源没有问题
写临时表捕获sql异常,并判断返回值是否正确(insert语句返回实际插入的数据条目数)
2中的存储过程如果出错就比较麻烦,考虑这样解决:
存储过程的算法一般都会使用缓存,如每次处理1000条数据,清空缓存,下一个1000条。 存储过程要判断每次循环是否出错,如果出错的话,做个标志,抛出异常。
肯定是在java中调用这个过程,好了,捕获它抛出的那个异常,解决问题后再次调用存储过程,直到处理完成。 抛砖了,呵呵