Project: Create a library/engine that Import and Export data.
Language: VB.NET - must work with Visual Studio 2005
Framework: 2.0
Library must haves, OO oriented, multi-threaded, good error handling
## Deliverables
**Library must haves:**
1. **Create a library/engine to import data:**
* Fixed-width data file
* Character delimited data file
* Excel data
* This component has to be able to call events during reading process such as reading a field and after reading a field, so other actions can be perform on the data being imported, such as formatting the data or calling external procedures.
* don't use .net split() function, can be a token based or do manual look-up.
2. **Export data from database to**
* Fixed-width data
* Character delimited data
* Excel data
* Database component must support Oracle, MSSQL, MSAccess, MySQL, Excel
* Again this component must have events during reading process such as reading a field and after reading a field, so other actions can be perform on the data being imported, such as formatting the data (trim, padding, ucase, lcase, etc) or calling external procedures.
3.
**Import and export data structure is controlled by xml data structure.** This schema is stored as xml file, database and can be create programmatically during run time. Library must support schema from all three sources. Below are examples of xml data structures, but I am open to the format of the xml data structure.
(Delimited)
<MODEL Name="TEST" FileFormat="Delimited">
<FIELD Name="LineNumber" DataType="Int32" />
<FIELD Name="Quoted String" DataType="String" Quoted="true" />
<FIELD Name="Unquoted String" DataType="String" Quoted="false" />
<FIELD Name="Double" DataType="Double" />
</MODEL>
(Fixed)
<MODEL Name="TEST" FileFormat="FixedWidth">
<FIELD Name="LineNumber" DataType="Int32" Length="3" />
<FIELD Name="String" DataType="String" Length="9" />
<FIELD Name="Int32" DataType="Int32" Length="3"/>
<FIELD Name="Decimal" DataType="Decimal" Length="6" />
<FIELD Name="Boolean" DataType="Boolean" Length="1"/>
<FIELD Name="DateTime" DataType="DateTime" Length="10"/>
</MODEL>
> **Again the data structures must support it being stored and read from a database, xml flat file, or be create programmatically.
>
4. **Library must use OOD/OOP** so it can be inherited, abstracted and extended in the future to allow support for: more database formats, different file formats, etc..
5. **Library must be multi-threaded and work synchronously or asynchronously**, see [login to view URL] for methodology.
6. **Library must have good error handling** such as an ErrorHandling Manager that collects errors during import and export process, see [login to view URL] for methodology.
7. Time-frame to complete is within one week (10) days.
8. (if time permits) Front-end GUI that allows
* The creation of data model/structure that can be stored into xml format.
* Show the functionality of the library, such as import and export data.
You can use these as a point of reference:
A. Micrsoft's DTS engine
B. [login to view URL]
You can use the concepts and ideas, but please don't copy this library's source code or just do a conversion. Filehelpers is GPL and I want this library to be privately licensed.
Thank you for taking the time to read my project.