oracle,用 Java 将 TXT 数据导入 DB
【问题】
请教各位兄弟 几百万行 txt 导入oracle 在本机用 手工调用 oracle 自带的 sqlldr 已经实现了。
想请教 那个兄弟有 比较成熟的java 代码 实现的。
【回答】
SPL有这种现成的类库,脚本很简单,有很多选项可控制,适合大文件、选择列、各种分隔符、只追加等多种情况,也很容易被Java调用:
A |
B |
|
1 |
=file("E:\\source.txt").cursor() |
|
2 |
for A1,100000 |
|
3 |
>db.update(A2,tableName,col1,col2) |
A1:创建文件游标。
A2:每次取10万条数据。
A3:将A2中的数据更新入库。
集成方案可参考Java 如何调用 SPL 脚本 。
不过由于JDBC的性能较差,这种方法远没有sqlldr的性能好,只是全Java代码易于移植和控制。