SQL Server - 批量插入而不会丢失CR或LF字符

时间:2011-11-29 18:16:43

标签: sql-server email bulkinsert end-of-line

我正在尝试使用批量插入将电子邮件通信导入数据库表,但我似乎无法保留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 个答案:

答案 0 :(得分:1)

它应该使用回车符和换行符导入,即使您在某些工具中没有看到它们。我们会以这种方式导入XSL,它会保留所有的行格式。