2010-12-01 2 views
0

저는 신용 조합 (약 60,000 개의 계정)에서 일합니다. 성명서 처리는 70 년대부터 시작되었으며 데이터를 레이아웃에 단단히 결합 시켰습니다. 즉, 작업을 실행하면 각 계정에 대한 명령문을 포함하는 텍스트 파일이 생성됩니다. 내가 대신 텍스트를 얻는 이제 메인 프레임 설정을 수정했습니다, 그래서 같은 XML을 얻을 :XML을 청크로 묶어 관련 테이블에로드

<statements> 
    <statement account='1'> 
     ...statement info like checking/savings/certificate/visa/loan/heloc shares 
    </statement> 
    <statement account='N'> 
     ...statement info like checking/savings/certificate/visa/loan/heloc shares 
    </statement> 
</statements> 

내가 관계형 테이블 (들)에서 데이터를 끌어와 iText를 함께 즉석에서 PDF를 구축 자바 코드를 썼다. 명령문에 표시되는 일부 데이터는 XML의 데이터로부터 계산됩니다. 예를 들어 XML에는 공유에있는 모든 트랜잭션이 포함됩니다. 성명서에서 크레딧 수와 빚 수를 보여주고 싶습니다. 일단 DB에로드되면 뷰를 사용하여이 값을 즉시 계산하고 Java 응용 프로그램에 데이터를 제공 할 수 있습니다.

이 XML 파일은 ~ 900MB이며 더 많은 멤버를 추가 할 때만 커질 것입니다.

한 번에 하나의 "진술"을 처리하려고합니다. http://mrico.eu/entry/parsing_chunks_of_xml_documents

Can JAXB parse large XML files in chunks)

I 개별 문이되면, 내가 DB 테이블을 해당로는 주 (검사, 저축, 비자 등)의로드 할.

이것을 달성하는 가장 간단한 방법은 POJO에 구문을 바인딩 한 다음 POJO의 각 복합 요소 (공유 또는 트랜잭션 또는 대출)에 삽입하는 것입니다.

당신이 추천하는 파서/바인더/지속 도구의 조합은 무엇입니까?

개인적으로 원시 JDBC 삽입을 선호하므로 파서와 바인더의 질문이 더 중요합니다.

참고 : XML 스키마를 만들 수는 있지만 메인 프레임에서 XML 파일을 빌드하는 방식이 취약 할 수 있습니다. Fiserv의 Spectrum 소프트웨어를 사용하는 사람은 누구나 아픔을 느낍니다.

답변

0

XML 용 스트리밍 API 인 StAX을 살펴보십시오.

관련 문제