【问题标题】:Azure SQL Bulk Insert text qualifierAzure SQL 大容量插入文本限定符
【发布时间】:2018-09-17 16:50:18
【问题描述】:

现在是 2018 年,将文本文件导入 SQL 似乎并不聪明。 我有一个类似这样的文本文件:

    "id","name","company","contract","notes"... 
    "234","Joe","conteso","pending","notes can have line feeds
 and/or carrage returns"
    "313","Ann","conteso",,"notes can have a , comma"
    "213","Ken",,,""

我已经建立了一个 xml fmt 文件。 使用类似于

的行
  <FIELD ID="2" xsi:type="CharTerm" TERMINATOR='","' COLLATION="SQL_Latin1_General_CP1_CI_AS"/>

但正如您所见,我不能使用“,”作为分隔符,因为如果为 null,则“是可选的。此外,我不能只使用逗号,因为注释字段可能会搞砸(注释后面有列)

知道如何解析这个吗? .. 我正在从 blob 存储加载到 azure SQL。

-肯

【问题讨论】:

    标签: sql csv azure-sql-database sql-server-2016


    【解决方案1】:

    简而言之,批量插入无法做到这一点。 我能够解决这个问题的唯一方法是更改​​创建源的powershell以使用制表符分隔并编写存储的存储过程以从任何具有它们的列值中删除前导和尾随双引号......只是愚蠢......但是需要越过它..

    -肯

    【讨论】:

      猜你喜欢
      • 2016-11-13
      • 2011-06-20
      • 2014-11-01
      • 1970-01-01
      • 2010-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-29
      相关资源
      最近更新 更多