[英]How can I load data from java into oracle DB
我即将开发一个应用程序来将数据从文件加载到数据库中。 我已经使用 sqlLoader 通过命令行执行此操作,并且效果很好,但现在我想为该过程提供一个 GUI。
我正在考虑使用 Runtime.exec() 从 java 调用 sqlLoader,但我想我会将我的程序限制为仅适用于 Windows,因此没有可移植性。
我想知道是否有更有效/本机的方式通过 java 将文件中的数据加载到数据库中。 就像是:
文件 -> JAVA -> ORACLE。
任何建议都是最受欢迎的!
干杯,
管理远程进程并让它依赖于 Oracle 实用程序操作系统安装是一个维护难题。 我使用了关联数组和包函数。 在包中为 VARCHAR2、NUMBER 等输入数组定义类型。 然后(基本上!)在输入文件上使用 readline().split(",") 为每一列构建并行数组。 将数组传递给包函数,该函数在单次往返中使用 Oracle 批量处理:
my_package.do_my_insert( field1_array, field2_array, field3_array ... )
forall idx in field1_array.first .. field1_array.last
insert into table1 ( field 1, field2, field3 ... )
values ( field1_array(idx), field2_array(idx), field3_array(idx) ... );
(很多关于如何在上面的 JDBC 中创建 Oracle 数组类型的缺失代码,但 Oracle 在其他地方记录了这一点)
与 SQL 批处理相比,性能轻松提升 10 倍
您可以使用 JDBC 连接到 Oracle 并管理来自文件的数据。 这是关于 JDBC 的教程: http : //www.cs.ubc.ca/~ramesh/cpsc304/tutorial/JDBC/jdbc1.html
回复后编辑:
有多种方法可以通过 Java 将文件加载到数据库。
INSERT ALL into table name (col1,col2,..) values (val1,val2,..) select * from dual;
并批量插入。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.