I am considering writing a custom data import utility for our core product in C# but before I do so I need to figure out if I am reinventing the wheel. Here is a slimmed down version of what I purposed in yesterday's meeting.

Step 1.

The user opens a screen where they choose what entities they want to import. The app queries the information schema views or the systems catalog for the table structure of base tables and all of the required related tables and they are also given the choice of importing optional related tables or entities. This is neccessary because the app is customizable. Based on this query the app will export templates and information about the datatypes and other constraints needed for the import on a column by column basis.

The application saves this template for later use.

Step 2

The user populates the spreadsheet(s).

Step 3

When the user is ready for the import, they select the template they created in step 1, select the files they created and run the import. Before the import is actually run, the application validates the data in the import files.

Other features of the app should include the ability to rollback the imported data and the ability to review a log that reports back any errors or information messages reported during the import.

To me it seems to me that something like this would have to be coded specific to our application and anything off the shelf would not be flexible enough. The boss's think that the DBA's spend too much time writing custom imports. Fine with me. That kind of crap bores me silly. Any thoughts?