Domanda

Ho un file di dati flat che ho bisogno di importare nel mio SQL Server 2005 database.

Molti dei campi devono essere scissi in diversi tavoli, legati. Ad esempio, il file flat ha nomi, indirizzi e numeri di telefono, il tutto in un record. Nel mio DB, la tabella Person ha molti Telephones e Addresses.

C'è un processo in un'unica fase in cui posso importare tutto nelle mie tabelle, o devo importare un primo momento in una nuova tabella nel mio DB (ugh - inquinamento se mi dimentico di eliminarlo), e importare i dati da lì utilizzando le istruzioni SQL e tabelle temporanee?

È stato utile?

Soluzione

Io preferisco la tabella di uno di importazione, seguito da dividendo fuori in tavoli finali. Mi piacerebbe anche mantenere la tabella di importazione invece di creazione / eliminazione di ogni volta.

  • facile trattare wth vincoli (controllare prima inserto nella tabella finale o aggiornare riga esistente)
  • più facile lasciare i dati di generazione errore nella tabella di importazione dopo aver rimosso le righe di successo
  • transazioni lato server
  • Tipo di dati di sicurezza:? Puoi fidarti del tuo origine 100%
  • Più facile da ISNULL o NULLIF in SQL a che fare con le stringhe vuote e altri come
  • e altre cose che non riesco a ricordare in questo momento ...

Altri suggerimenti

Questo è assolutamente un lavoro per SQL Server Integration Services . Ha qualche grande funzionalità che vi permetterà di afferrare un file flat, fare la manipolazione dei dati su di esso, e alla fine importarlo nel nuovo db.

Purtroppo, non c'è una soluzione facile "quick fix" che io sappia al di fuori di questo. C'è la tecnologia Vorrei guardare in un primo momento, tuttavia.

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