拥有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
答案 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)