【问题标题】:SQL Server BCP utility best separator character to useSQL Server BCP 实用程序要使用的最佳分隔符
【发布时间】:2011-12-21 23:11:09
【问题描述】:

我相信很多人都会遇到这种情况。

每当我们使用 SQL Server BCP 实用程序导入/导出数据到/从分隔的文本文件时,这是最好的 "Separator Character" 使用。我们有 Note-text 类型的字段,可以有,现在我们发现 | & ~ 也被我们的用户在这些领域使用。 您认为哪个角色被用户使用的机会最少。或者你有更好的选择来处理这个问题。

更新- 该软件正在英国-英语用户中开发。

【问题讨论】:

  • 什么编码?什么语言?有太多因素无法猜测。
  • 这是要求“视情况而定”的答案。选择在您导入的内容中未出现的字符。只有您可以知道某个字符被使用的概率。据我们所知,您正在从 Tilda Appreciation Society 导入数据。
  • 如果使用格式文件,可以为每个字段指定不同的分隔符,或者指定固定长度的字段。

标签: c# sql-server-2008 bcp


【解决方案1】:

最好的方法是您选择用作分隔符的任何字符都不应出现在您的任何文本字段中,如果您的文本字段包含您的分隔符,则在将文本放入 bcp 导出文件之前替换它。 ^ 或 |是很少使用的字符,因此请使用它们中的任何一个作为分隔符,并在您的代码中检查以将文本字段中的分隔符替换为其他字符,这样就不会造成任何混淆。

【讨论】:

    【解决方案2】:

    使用非打印字符 - ASCII 码 2ASCII 码 3 通常用作 START 和 STOP 分隔符 (STX/ETX),并且肯定不会出现在用户数据。

    【讨论】:

      【解决方案3】:

      答案是这真的取决于数据。一个可以使用 ^ 或 # 或 ~ 或 |

      【讨论】:

        【解决方案4】:

        我更喜欢在我的 csv 文件中使用两个“奇怪”的字符作为分隔符。我遇到过有人用|# 插入数据的案例。 ^|||| 之类的应该更好。

        使用 BCP 应该没有问题。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-11-25
          • 2014-03-20
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多