SQL Server - массовая вставка без потери символов CR или LF - PullRequest
2 голосов
/ 29 ноября 2011

Я пытаюсь импортировать сообщения электронной почты в таблицу базы данных с помощью групповой вставки, но не могу сохранить символы CR и LF. Давайте рассмотрим следующее:

CREATE TABLE myTable (
    Email_Id int,
    Email_subject varchar(200) NULL,
    Email_Body TEXT NULL
)

Оператор массовой вставки имеет следующее значение:

codepage = '1250',
fieldterminator = '<3P4>',
rowterminator = '<3ND>',
datafiletype = 'char'

Файл содержит полные электронные письма (включая символы CR и LF). Я хотел бы импортировать данные и включить символы CR и LF. Я читал, что BULK INSERT обрабатывает каждую запись как одну строку, но означает ли это, что она удаляет символы CR и LF? Если да, что я могу использовать для импорта этого файла CSV? У меня нет доступа к SSIS, и я бы предпочел использовать для этого код SQL.

Пример данных:

11324<3P4>Read this email because it's urgent<3P4>Haha John, 

I lied, the email was just to mess with you!

Your Nemesis,
Steve

P.S. I still hate you!
<3ND>
11355<3P4>THIS IS THE LAST STRAW<3P4>Steve, 

I have had it with you stupid jokes, this email is going to the manager.

Good day,
John
<3ND>

1 Ответ

1 голос
/ 29 ноября 2011

Должен импортироваться с возвратом каретки и переводом строки, даже если вы не видите их в некоторых инструментах. Мы импортировали бы XSL таким образом, и это сохранило бы все форматирование строки.

...