使用ROWTERMINATOR批量插入txt错误

时间:2011-04-28 12:15:24

标签: bulkinsert

拥有txt个文件,必须将其传递给sql

批量插入

BULK INSERT table
FROM '\ \ 01cends5 \ TestBulk \ a.txt'
WITH (
DATAFILETYPE = 'char'
FIELDTERMINATOR = '|'
ROWTERMINATOR = '\ n ',
FIRSTROW = 1,
LASTROW = 15
)

但它不是最后一行ROWTERMINATOR并且探究一切并且不起作用 {CR} {LF}{LF}{CR}\ n\ r\ r \ n\ n \ r

我的txt格式为:

0 | 20276708598 | 119302 | 201101 | 000000 | 000000

1 个答案:

答案 0 :(得分:3)

“\ r”转换为0x0A似乎有问题,至少在我的情况下如此。

http://dbaspot.com/sqlserver-programming/463913-bulk-insert-rowterminator-failing.html#post1509360演示了如何使用exec和使用char()函数指定rowterminator。它对我有用。从上面的链接粘贴示例代码:

DECLARE @bulk_cmd varchar(1000)
SET @bulk_cmd = 'BULK INSERT [GRC].[dbo].[UP_040109]
FROM ''C:\TEMP\up\524.d.0''
WITH (ROWTERMINATOR = '''+CHAR(10)+''',FIELDTERMINATOR = ''\t'')'
EXEC(@bulk_cmd)