Come selezionare da un file CSV in SQL

February 25

Come selezionare da un file CSV in SQL


Trasferimento di tuple di dati tra due diversi sistemi di database di solito avviene attraverso l'automazione, con routine pre-scritto (o script) che vengono eseguiti durante le ore non di punta. Di tanto in tanto, è necessario manualmente le informazioni in ingresso, in genere da un sistema di pensione o incompatibile. Queste richieste di eccezione di una volta non sono generalmente vale la pena di istituire in script automatici. È possibile importare (ed esportare) per le tabelle del database tramite valore generico, separati da virgole (.csv) file utilizzando il comando bcp.exe utilità inclusa con MS SQL Server o utilizzando l'istruzione Inserimento di massa, che questi passaggi si rivolgono, o dichiarazione OpenRowSet.

istruzione

1 Selezionare il database utilizzando il seguente codice (sostituendo il nome del campione con il nome del database):

USO trackedatabase

ANDARE

2 Scrivi la dichiarazione Inserimento di massa per inserire i dati del file CSV:

MASSA

INSERT trackingdata

DA 'c: \ morenames.csv'

CON

(FIELDTERMINATOR = ',', ROWTERMINATOR = '\ n', TABLOCK)

ANDARE

3 Verificare i risultati:

SELECT * FROM trackingdata

ANDARE

Consigli e avvertenze

  • "In SQL Server 2005 e versioni successive, BULK INSERT impone nuovi convalida dei dati e dati i controlli che potrebbero causare script esistenti a fallire quando vengono eseguiti sui dati non validi in un file di dati," secondo Microsoft Developers Network.
  • Racchiudere il vostro percorso del file .csv con virgolette singole [ ']. Fase 2 utilizza "C: \, 'nella directory principale di un PC, solo a titolo di esempio, il percorso può comprendere altre unità o directory.
  • Considerare l'utilizzo di TABLOCK anche se il processo funziona senza di essa. Hanno sempre l'intera tabella in modalità utente singolo in caso di modifiche a più di una riga.
  • È possibile utilizzare altri metodi di una tantum per importare i dati di testo a un database MS SQL Server, incluse le tecniche, come l'importazione del .csv primo a MS Excel e quindi caricare il xls (x) file di MS SQL Server. A volte per un'importazione di una volta troverete questo più facile che passare attraverso il pannello di amministrazione del server MS Sql solo per caricare un paio di righe di dati.
  • Prova qualcosa di nuovo su un sistema di prova prima.
  • Eseguire un backup completo del database prima di tentare di importare qualsiasi tipo di nuovi dati, se si sta utilizzando BCP o Inserimento di massa o OpenRowSet.