【问题标题】:bulk insert txt error with ROWTERMINATOR使用 ROWTERMINATOR 批量插入 txt 错误
【发布时间】:2011-06-20 22:58:46
【问题描述】:

有一个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

【问题讨论】:

    标签: bulkinsert


    【解决方案1】:

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

    http://dbaspot.com/sqlserver-programming/463913-bulk-insert-rowterminator-failing.html#post1509360 演示了如何使用 exec 执行此操作并使用 char() 函数指定行终止符。它对我有用。粘贴上面链接中的示例代码:

    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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-03
      • 2017-04-09
      • 1970-01-01
      • 1970-01-01
      • 2015-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多