I think what you are missing is a viable workflow that accounts for errors, missing information, etc.
My approach would be,
- Grab all data and attempt to import it into a temporary table without no keys and three additional fields: 1) a flag that says 'processed|unprocessed|failed' that defaults to 'unprocessed' and 2) a unique account id 3) Long error message
- Run a utility (who cares what it is written in -- it can be a stored proc if you prefer) that scans the prospective record and fills in the blanks -- the account id. If no suitable account id can be produced flag the record as 'failed' and update the long error message field with the reason. If it passes move the record to its final destination.
- Finally, log every transaction with a timestamp when it was processed, how long it took to run, etc.
You'll also need a hardfile log to capture instances when the database is unavailable or if somebody changes permissions on the tables so as to make them unwriteable/unreadable/etc.
Celebrate Intellectual Diversity
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|