Completed

Application to Persist Large XML Data Files into an MSSQL Database (Repost)

I have a number of very large XML documents, and I'd like to have a script made in Java that will read data within the XML document, and persist it into a database with configurable batch sizes.

The specific structure of the XML documents may very, but they all have the same basic parent/child structure. For example, we might have:

<Parent>

<Group_Child>

<Child_1>Data<Child_1>

<Child_2>Data<Child_2>

</Group_Child>

<Child_1>Data<Child_1>

<Child_2>Data<Child_2>

</Group_Child>

</Parent>

or

<Parent>

<Group_Child>

<Child_3>Data<Child_3>

<Child_4>Data<Child_4>

</Group_Child>

<Child_3>Data<Child_3>

<Child_4>Data<Child_4>

</Group_Child>

</Parent>

As you can see above, the first file has two columns, Child_1 and Child_2, while the second file has Child3 and Child4. The application will work as follows in each above case:

1. Parse the XML document to get the list of ALL record element names. Just as with above, we need to review within the entire document to get a cumulative, distinct list of any and all column names;

2. Create a table with the desired structure (e.g. in the above case, tables would be created with the two columns indicated; and

3. Persist all data from the XML documents into the table created.

The application should accept three parameters, the first is the filename to be read, the second is batch size, and the third is target table name. For example, if my app name is PersistRMXML, and I want a batch size of 10,000, and the tablename I want to create is SomeTableName, then the command would be:

java -jar PersistRMXML [login to view URL] 10000 SomeTableName

Upon execution, the application will first read the input file to determine any and all possible column names (each file can contain over one million records, and so the file should not be loaded all into memory at once). STaX can be used to accomplish this.

Once this is done, the new table will be created on the target database with the desired structure. The application should contain an [login to view URL] file where the target MSSQL database connection string should be configured.

Once the target table is created, the application should read records in batch sizes specified above, and insert read records into memory. Once the desired number of records has been parsed from the XML document, and stored in memory, the application should then persist the data into the new table using the BulkCopy operation of MSSQL. More on Bulk Copy can be found here:

[login to view URL]

As a final step, the application should validate that the number of records inserted into the target table is the same record count as the number of records persisted. If not, the application should print an error to the log files indicating 'Record Persistence Incomplete - XML record count 11000 - Table record count 50'

The application should use a logger, like log4j for logging, and should log all details to the log file.

the application should be compiled using the Java 8 platform, and preferable will be distributed as a far jar.

Habilidades: Programação de Banco de Dados, Java, Arquitetura de software, SQL, XML

Veja mais: data entry school database repost, split large xml smaller files, insert xml data table mssql, insert xml data into sql table using stored procedure, how to read xml data in sql server 2008, how to insert xml data into table in sql server, sql server parse xml column, how to read data from xml string and insert into table in sql server, sql server parse xml string, sql read xml file, sql server parse xml into table, java, spring, convert oracle data files mssql server, aspnet mssql responsewrite output xml data sample code, xml files mssql, reading xml data database, mysql load large data files, accessing xml data files alfresco, import xml data mssql

Acerca do Empregador:
( 108 comentários ) SCOTTSDALE, United States

ID do Projeto: #17210801

Concedido a:

momayNikolaevic

Hello! Ready to help with your work. I am Java and Android developer with 5 years of work experience. I have a lot of experience with large files. P.S. Thanks for the detailed technical project.

$100 USD em 2 dias
(1 Comentário)
1.6

10 freelancers estão ofertando em média $174 para esse trabalho

idragon712

Hi sir. I'm very interesting your proposal. I can do it.(xml->mssql). How about working with me? Let me know the result. Regards.

$155 USD in 3 dias
(56 Comentários)
7.6
$200 USD in 7 dias
(336 Comentários)
6.8
$200 USD em 1 dia
(15 Comentários)
6.3
$155 USD em 1 dia
(57 Comentários)
6.2
Angel521

hi I am really interested in your project I have full experience of java programming for sql db and xml management I could parse your xml file and insert into mssql tables as you want I could satisfy you Everythin Mais

$155 USD in 3 dias
(32 Comentários)
5.8
RushService

Feel fee to contact me for Application to Persist Large XML Data Files into an MSSQL Database .Shoot me message to discuss further more details .We provide the commments,images,videos,demos and live sessions in orde Mais

$150 USD in 3 dias
(45 Comentários)
5.9
$161 USD in 3 dias
(13 Comentários)
5.1
Shatrughna2110

Hi There, I have read and understand the requirement to insert the XML data in MSSQL using JAVA. I will make it a perfect job. I have 14 years industry experience working on Java platform. Please let me know. Regards Mais

$350 USD in 5 dias
(26 Comentários)
5.4
dmitrypetelin

I have experience with Java and DB. Java : JPA, EJB, Hibernate, Spring Boot, Spring MVC, internationalization, DI, SOAP, RESTful, XML, JSON. DB: Oracle (admin, PL/SQL, stored procedure, function), MySQL (admin, sql, Mais

$111 USD in 2 dias
(1 Comentário)
1.8