Java导致OutOfMemory异常堆大小错误

时间:2018-04-04 09:38:05

标签: java plsql

我想知道如何从Java类将大数据传递给Oracle PL / SQL过程。我在文件中有大约1,500,000条记录,我想将它保存在数据库中。

目前我正在解析制作集合的文件并将ARRAY发送到PL / SQL程序但是在制作Oracle ARRAY时我得到CupertinoTabView例外。

请建议如何摆脱这种情况。

2 个答案:

答案 0 :(得分:0)

我对Oracle没有足够的知识。但是你可以考虑以下想法

您可以尝试逐行读取数据而不是一次读取数据,然后将记录移动到数据库中。

How to read a large text file line by line using Java?

如果要将数据一次移动到PL SQL,Oracle中应该有select into查询选项将数据保存为集合并进一步处理。

https://docs.oracle.com/cd/B14117_01/appdev.101/b10807/13_elems045.htm

答案 1 :(得分:0)

刚刚找到了CLOB变量的解决方案 - Character Large OBject是一个字符数据的集合。我在Java中使用CLOB变量并读取整个文件并将其插入临时表中。从存储过程我正在读取该变量。

以下是演示:

http://www.idevelopment.info/data/Programming/java/jdbc/LOBS/CLOBFileExample.java

感谢。