Import & Export
Overzicht tools
| Tool | Type | Gebruik |
|---|---|---|
| bcp | Command-line | Snel importeren/exporteren van platte bestanden |
| BULK INSERT | T-SQL statement | Importeren vanuit bestand rechtstreeks in T-SQL |
| Import and Export Wizard | GUI (SSMS) | Eenvoudige import/export via wizard |
| SSIS | ETL-platform | Complexe import/export met transformaties en flows |
1. bcp (Bulk Copy Program)
Command-line tool voor bulkexport en -import.
-- Export: tabel naar bestand
bcp DatabaseNaam.dbo.TabelNaam out bestand.csv -S ServerNaam -T -t ":"
-- Import: bestand naar tabel
bcp DatabaseNaam.dbo.TabelNaam in bestand.csv -S ServerNaam -T -t ";"
| Optie | Betekenis |
|---|---|
out |
Exporteren vanuit tabel |
in |
Importeren naar tabel |
-S |
Servernaam |
-T |
Windows authenticatie (trusted connection) |
-t |
Delimiter (veldscheidingsteken) |
2. BULK INSERT
T-SQL statement voor het importeren van een bestand in een tabel.
BULK INSERT dbo.TabelNaam
FROM 'C:\pad\naar\bestand.csv'
WITH (
FIELDTERMINATOR = ';',
ROWTERMINATOR = '\n',
FIRSTROW = 2 -- sla de headerrij over
);
3. SQL Server Import and Export Wizard
GUI-wizard bereikbaar via SSMS of rechtstreeks:
Object Explorer → rechtermuisklik op database → Tasks → Import Data... / Export Data...
Ondersteunt meerdere bronnen en bestemmingen: CSV, Excel, andere databases, ...
4. SQL Server Integration Services (SSIS)
Voor complexe ETL-workflows met transformaties, volgorde-controle en foutafhandeling.
Kerncomponenten
| Component | Functie |
|---|---|
| Control Flow | Bepaalt de volgorde van uitvoering (containers, tasks) |
| Data Flow | Verwerkt de data (lezen, transformeren, schrijven) |
| Flat File Source | Leest data uit een plat bestand (CSV, TXT) |
| OLE DB Destination | Schrijft data naar een SQL Server tabel |
| Lookup | Zoekt een waarde op in een andere tabel |
| Derived Column | Berekent of transformeert een kolomwaarde |
| Loop Container | Voert een reeks tasks herhaaldelijk uit (bv. per bestand) |
Tips
Maximum insert commit size
Stel de Maximum insert commit size in op 100000 bij grote imports voor betere performantie.
Datatypeconversie
Velden zoals birthdate in een CSV zijn vaak tekst — gebruik een Derived Column met substring en concatenatie om ze te converteren naar het juiste date datatype.
Volgorde
Gebruik containers om imports in de juiste volgorde te zetten. Sommige imports kunnen simultaan lopen — dit is echter niet verplicht.