lunedì 24 giugno 2013

MS SQL 2012 - Importare grandi quantita di dati

Abbiamo avuto problemi al lavoro per importare 2'000'000 di transazioni in una tabella. Abbiamo usato uno script SQL ma sia usandolo con Studio o con sqlcmd abbiamo sempre ottenuto un "Out of Memory". La soluzione adottata e' stato usare il tool bcp come segue:



bcp <tabella> in <filename> -c -S localhost -U MyUsername -P MyPassword -E
Il tutto ha finalmente funzionato. Per semplificare il fatto di avere dei dati nel file solo per alcume colonne e' stata creata una view con lo stesso ordine delle colonne dei corrispondenti dati presenti nel file. Poiche' la view si basa su una sola tabella, e' possibile utilizzarla per l'inserimento.

CREATE VIEW ImportView
AS
SELECT <colonne da importare>
FROM <nome della tabella>

Nel FIle di import le colonne sono state separate da un tabulatore (tab).

Link  (in tedesco):
http://msdn.microsoft.com/de-de/library/ms162802.aspx
http://www.nigelrivett.net/SQLTsql/BCP_quoted_CSV_Format_file.html

Nessun commento:

Posta un commento