Domanda

Ho un'applicazione web che richiede di prendere i dati da una cartella di lavoro di Excel e caricarli nel database. Sto usando ADO.NET 2.0 e ho bisogno di usare DataSet / DataTable / DataAdapter / etc. per eseguire questa attività.

Abbiamo anche l'obbligo di verificare i dati prima che vengano caricati e di informare l'utente in caso di violazione dei vincoli PK / FK / Unique / Other.

Attualmente stiamo caricando i dati da Excel in una DataTable e ottenendo i dati dal database in un'altra DataTable, unendo le due tabelle e (se tutto è stato unito correttamente), aggiorniamo il database.

Posso usare metodi su DataTable o DataSet (o un'altra struttura di dati ADO.Net) per verificare i vincoli PK / FK / Unique / Other? Quale sarebbe il flusso di lavoro consigliato per caricare i dati nel database dati i miei requisiti?

È stato utile?

Soluzione

  

Posso usare metodi su DataTable o   DataSet (o altri dati ADO.Net   struttura) da verificare   PK / FK / Unique / Altri vincoli?

Non credo. Invece puoi iniziare la transazione e catturare tutte le SqlException -s.

Quindi è possibile controllare il Numero dell'eccezione per vedere che tipo di errore è (violazione dell'FK, vincolo univoco, ecc.)

  

Quale sarebbe il flusso di lavoro consigliato   per caricare i dati nel database   date le mie esigenze?

Puoi anche prendere in considerazione l'utilizzo di Sql Server Integration Services. Ti permette di fare praticamente tutto.

Altri suggerimenti

Quello che descrivi è uno "standard" Lavoro ETL. Sebbene sia possibile farlo con script personalizzati, esistono strumenti disponibili che consentono di concentrarsi sul lavoro stesso, anziché sullo sviluppo personalizzato. Esiste il oracle data integrator e Suite Pentaho (open source) disponibile per il download e di prova.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top