【问题标题】:Import data file with non-printable field delimiter FS (0x1c)导入带有不可打印字段分隔符 FS (0x1c) 的数据文件
【发布时间】:2020-12-21 14:51:10
【问题描述】:

我正在尝试将数据文件批量插入到 SQL 表中。数据文件结构为:

Col1FSCol2FSCol3
Val1FSVal2FSVal3

FS是控制字符(文件分隔符),对应Byte 1C。

但是,SQL 中的以下批量插入代码不起作用:

bulk insert schema.table
from 'filepath'
with (
  datafiletype = 'char'
, codepage = 'ACP'
, firstrow = 2
, fieldterminator = '0x1C'
, rowterminator = '\n'
, tablock
)

【问题讨论】:

  • 哪个 dbms? (产品特定问题。)
  • MS SQL Server 18

标签: sql-server bulkinsert control-characters


【解决方案1】:

我们刚刚解决了这个问题:如果在Hex-Notation中指定了fieldterminator,那么rowterminator也必须在Hex-Notation中指定。

因此,解决方案是:

 bulk insert schema.table
from 'filepath'
with (
  datafiletype = 'char'
, codepage = 'ACP'
, firstrow = 2
, fieldterminator = '0x1C'
, rowterminator = '0x0A'
, tablock
)

【讨论】:

    猜你喜欢
    • 2018-03-13
    • 1970-01-01
    • 1970-01-01
    • 2019-06-05
    • 2013-08-13
    • 1970-01-01
    • 1970-01-01
    • 2020-11-12
    • 1970-01-01
    相关资源
    最近更新 更多