Как я могу вставить 10 миллионов записей в кратчайшие сроки?

У меня есть файл (который имеет 10 миллионов записей), как показано ниже:

    line1
    line2
    line3
    line4
   .......
    ......
    10 million lines

В общем, я хочу вставить 10 миллионов записей в базу данных. поэтому я читаю файл и загружаю его на SQL Server.

Код C #

System.IO.StreamReader file = 
    new System.IO.StreamReader(@"c:\test.txt");
while((line = file.ReadLine()) != null)
{
    // insertion code goes here
    //DAL.ExecuteSql("insert into table1 values("+line+")");
}

file.Close();

но вставка займет много времени. Как я могу вставить 10 миллионов записей в кратчайшие сроки с помощью C #?

Обновление 1:
Bulk INSERT:

BULK INSERT DBNAME.dbo.DATAs
FROM 'F:\dt10000000\dt10000000.txt'
WITH
(

     ROWTERMINATOR =' \n'
  );

Моя таблица, как показано ниже:

DATAs
(
     DatasField VARCHAR(MAX)
)

но я получаю следующую ошибку:

Сообщение 4866, уровень 16, состояние 1, строка 1
Массовая загрузка не удалась. Столбец слишком длинный в файле данных для строки 1, столбца 1. Убедитесь, что терминатор поля и терминатор строки указаны правильно.

Msg 7399, уровень 16, состояние 1, строка 1
Поставщик OLE DB "BULK" для связанного сервера "(null)" сообщил об ошибке. Поставщик не предоставил никакой информации об ошибке.

Msg 7330, уровень 16, состояние 2, строка 1
Невозможно получить строку от поставщика OLE DB "BULK" для связанного сервера "(null)".

Ниже работает код:

BULK INSERT DBNAME.dbo.DATAs
FROM 'F:\dt10000000\dt10000000.txt'
WITH
(
    FIELDTERMINATOR = '\t',
    ROWTERMINATOR = '\n'
);

Ответы на вопрос(4)

Ваш ответ на вопрос