【问题标题】:BCP with Custom column and Row Delimiters带有自定义列和行分隔符的 BCP
【发布时间】:2019-03-19 16:35:44
【问题描述】:

我需要一些关于第 3 方提供给我们的平面文件的帮助,该文件使用:

Field1[**]Field2[**]Field3[**]Field4[<>]Field1[**]Field2[**]Field3[**]Field4[<>]

作为:

Row1:Field1 Field2 Field3 Field4
Row2:Field1 Field2 Field3 Field4

作为平面文件。我希望能够通过 BCP 或 Openrowset 或使用 SSMS 17.5 的批量插入将平面文件直接导入表

我猜我需要一个格式文件,但我不知道如何定义这些分隔符!方括号是分隔符的一部分。

我唯一的选择是 CLOB 和 Replace,但这是双重处理..

【问题讨论】:

  • 匆忙,抱歉,这可能会对您有所帮助:mssqltips.com/sqlservertip/5345/…(批量插入允许您指定行和字段分隔符)
  • BCP 还有用于指定row_termfield_term 的选项
  • 您只需要为批量插入指定row and field terminator。类似:BULK INSERT YourTable FROM 'C:\someFileLocation\filename.txt' WITH ( FIELDTERMINATOR = '[**]', ROWTERMINATOR = '[&lt;&gt;]' ); 。不确定 BulkInsert 是否会抱怨这些分隔符。 @MatBailie 第一篇文章是处理这个问题的好方法

标签: sql-server bcp


【解决方案1】:

谢谢大家

只见树木不见森林。

BULK INSERT [dbo].[My Table]
FROM 'F:\Myfile.txt'
WITH (
      FIELDTERMINATOR = '[**]'
     ,ROWTERMINATOR = '[<>]'
     ,FIRSTROW=1
)

已解决:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-21
    • 1970-01-01
    • 2011-08-20
    • 2019-01-22
    • 2017-11-25
    • 1970-01-01
    • 1970-01-01
    • 2010-12-30
    相关资源
    最近更新 更多