Хорошо, я обнаружил, что многие люди спрашивают об этом здесь и в StackExchange, и им говорят, что это невозможно, и вам нужно использовать SSIS.
Все, что вам нужно, - это файл формата SQL.И хотя есть несколько ссылок о том, как использовать файл форматирования, я нашел только одну, в которой объясняется, как он работает, включая текстовые поля с запятыми в них.
Вот синтаксис, используемый в сценарии sql
BULK INSERT raw.routes FROM N'C:\WhereMyTextFileis\Import.txt'
WITH (
FORMATFILE = N'C:\WhereMyFormatFileIS\MyFormat.fmt'
,FIRSTROW = 2
)
и вот содержимое моего файла формата
10.0
8
1 SQLCHAR 0 50 "," 1 RouteID ""
2 SQLCHAR 0 50 ",\"" 2 RouteShortName Latin1_General_CI_AS
3 SQLCHAR 0 100 "\"," 3 RouteLongName Latin1_General_CI_AS
4 SQLCHAR 0 200 "," 4 RouteDescription ""
5 SQLCHAR 0 50 "," 5 RouteType ""
6 SQLCHAR 0 2000 "," 6 RouteURL ""
7 SQLCHAR 0 100 "," 7 RouteColour ""
8 SQLCHAR 0 100 "\r\n" 8 RouteTextColour ""
странный вид "," \ "" - удалить двойные кавычки в начале моего цитируемого текстового столбца RouteShortName, а "\", "удаляет кавычки вконец цитируемого текстового столбца RouteShortName. Но важным моментом является то, что запятые хранятся в содержимом данных столбца.
Надеюсь, это поможет кому-то еще.
Erick