SQL Server批量插入-指定备用行终止符

问题描述 投票:0回答:1

我正在使用BULK Insert语句在SQL Server 2008 R2中加载文本文件。

我使用以下SQL:

declare @q varchar(MAX);
declare @csvfile varchar(100);

declare @csvpath varchar(200) = '\\path of folder'
declare @csvfullFileName varchar(200) = @csvpath+@csvfile+'.csv' 

set @q=
    'BULK INSERT #certs
    FROM '+char(39)+@csvfullFileName+char(39)+'
    WITH
    (

   FIELDTERMINATOR = '','',
    ROWTERMINATOR = ''\n'',
    FIRSTROW = 1  
    )'
exec(@q)

当正在加载的文件具有CRLF作为行终止符时,这一切都很好。

有时,文件没有LF,只有CR。这显然会导致截断错误。

我的问题是,是否可能有一个备用ROWTERMINATOR,所以无论CR或CRLF行终止如何,文件仍会加载?

sql-server sql-server-2008-r2 bulkinsert
1个回答
0
投票

对于现在在这里着陆的任何人,您可以尝试usae十六进制代码

ROWTERMINATOR ='0x0d0a'要么ROWTERMINATOR ='0x0a'

© www.soinside.com 2019 - 2024. All rights reserved.