SQL Server maakt het gebruik van de Bulk invoegen Transact-SQL-instructie voor het uploaden van grote volumes van heterogene gegevens in een SQL-tabel. De gegevens moeten worden gestandaardiseerd en goed gescheiden. Door lijstscheidingstekens gescheiden waarden die zijn opgeslagen in een plat bestand zijn ideaal voor importeren met behulp van de bulk insert-instructie. U moet al een tabel hebt gemaakt in een SQL-database met overeenkomende gegevenstypen op de kolommen in het CSV-bestand. U moet invoegen en selecteer machtigingen op tafel. U wellicht ook Alter Table gemachtigd, afhankelijk van de bewerkingen die u wilt uitvoeren.
Wat die u nodig hebt
- SQL Server 2005 of 2008
- SQL Server Management Studio
- Kommagescheiden bestand
De Bulk Insert Query wordt uitgevoerd
Start de SQL Server Management Studio-toepassing.
Typ de opdracht Bulk invoegen in de query editor-venster. Volgens de MSDN is de juiste syntaxis voor de opdracht Bulk invoegen als volgt:
BULK INSERT
[databasenaam. [schema_name]. | SCHEMA_NAME. ] [table_name | view_name]
FROM 'data_file' [ WITH (
[[,] BATCHSIZE = batch_size]
[[,] CHECK_CONSTRAINTS]
[[,] CODEPAGE = {'ACS' | 'OEM' | 'RUWE' | 'code_page'}]
[[,] DATAFILETYPE =
{ 'char' | 'native'| 'widechar' | 'widenative' } ]
[[,] FIELDTERMINATOR = 'field_terminator']
[[,] FIRSTROW = first_row]
[[,] FIRE_TRIGGERS]
[[,] FORMATFILE = 'format_file_path']
[[,] KEEPIDENTITY]
[[,] KEEPNULLS]
[[,] KILOBYTES_PER_BATCH = kilobytes_per_batch]
[[,] LASTROW = last_row]
[[,] MAXERRORS = max_errors]
[[,] Bestelling ({kolom [ASC | DESC]} [,.. .n])]
[[,] ROWS_PER_BATCH = rows_per_batch]
[[,] ROWTERMINATOR = 'row_terminator']
[[,] TABLOCK]
[[,] ERRORFILE = 'bestandsnaam']
)]
Dit betekent dat, bijvoorbeeld, voor onverpakte invoegen de inhoud van een door komma's bestand met de naam ImportFile.csv gescheiden, gelegen in de "C:\MyFiles"-map op uw vaste schijf, in de tabel van de ImportedDataTable van de ImportsDB-database, u de volgende query typt:
BULK
Dbo invoegen ImportsDB.ImportedDataTable
VAN "C:\MyFiles\ImportFile.csv"
MET
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = "\n"
)
De veld-terminator is het scheidingsteken, dat een komma is. De rij-terminator is de nieuwe-regelteken.
Klik op "Uitvoeren" in de query editor.
Wacht totdat de query is uitgevoerd. Een bericht weergeven die aangeeft of de query is met succes uitgevoerd, of er fouten zijn opgetreden. U kunt deze leesfouten en corrigerende maatregelen treffen.