Importing data from text file to specific columns using BULK INSERT
Bulk insert is much faster than using other techniques such as SSIS. However, when you are using bulk insert you can’t insert to specific columns. If, for example, there are five columns in a table you should have five values for each record in the text file you are importing from.
This is an issue when you are expecting default values to be inserted into tables.
Let us say you have table as below:
In this table, you are expecting ID, Status and CreatedDate to be updated automatically, so your text file may only have FirstName LastName values as below:
If you use bulk insert to this table like follows,
You will be returned an error:
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 1, column 1 (ID).
To avoid this you will need to create a view with the columns you are expecting to fill and use bulk insert against it.
If you check the table now, you will see table with values in the text file and the default values.