Se si dovesse progettare un componente/sistema di elaborazione file, che potrebbe contenere un'ampia varietà di formati di file (inclusi formati proprietari come Excel), analizzare/convalidare e memorizzare queste informazioni in un DB .. Come lo faresti?Progettazione dell'elaborazione dei file che gestisce molti formati di file, analisi, convalida e persistenza
NOTA: il 95% delle volte 1 riga di dati di input equivale a un record nel database, ma non sempre.
Attualmente sto usando un software personalizzato che ho progettato per analizzare/convalidare/archiviare i dati dei clienti nel nostro database. Il sistema identifica un file in base alla posizione nel file system (da una caduta ftp) e quindi carica un file di "definizione" XML. (L'XML corretto viene caricato in base a dove il file di input è stato rilasciato a).
L'XML specifica elementi come il layout del file (delimitato o larghezza fissa) e gli elementi specifici del campo (Lunghezza, Tipo di dati (numerico, alfa, alfanumerico) e quale colonna DB memorizzare il campo in).
<delimiter><![CDATA[ ]]></delimiter>
<numberOfItems>12</numberOfItems>
<dataItems>
<item>
<name>Member ID</name>
<type>any</type>
<minLength>0</minLength>
<maxLength>0</maxLength>
<validate>false</validate>
<customValidation/>
<dbColumn>MembershipID</dbColumn>
</item>
A causa di questo disegno i file di input devono essere il testo (larghezza fissa o delimitati) e hanno un rapporto 1 a 1 dal campo di dati del file di input per colonna DB.
Mi piacerebbe estendere le capacità del nostro sistema di elaborazione file in modo da includere Excel o altri formati di file.
Ci sono almeno una mezza dozzina di modi in cui posso procedere, ma sono bloccato in questo momento perché non ho nessuno con cui rimbalzare le idee.
Ancora: se dovessi progettare un componente di elaborazione file, che potrebbe contenere un'ampia varietà di formati di file (inclusi formati proprietari come Excel), analizzare/convalidare e archiviare queste informazioni in un DB .. Come vorresti fallo?
Serverfault.com è un sito in cui è possibile discutere la progettazione del sistema con – TStamper
No. Serverfault.com ha solo domande relative al server. –
@ Andrejs- Servefault è progettato per amministratori di sistema e professionisti IT, quindi dipende da quale sia la sua domanda sulla progettazione del sistema – TStamper