如何从SQL Server表导出文本数据?

如何从SQL Server表导出文本数据?,sql,sql-server,import,export,etl,Sql,Sql Server,Import,Export,Etl,我正在尝试使用MS SQL Server 2005导入/导出工具导出表,以便将其导入另一个数据库进行存档。其中一列是文本,因此如果我以逗号分隔的形式导出,当我尝试将其导入存档表时,该字段中带有逗号的行将无法正常工作。我应该选择哪些选项来确保导入正常工作?使用引号作为文本限定符 文本限定符: 键入要使用的文本限定符。例如,可以指定每个文本列都用引号括起来 使用引号作为文本限定符 文本限定符: 键入要使用的文本限定符。例如,可以指定每个文本列都用引号括起来 除非客户要求,否则我从不使用逗号delim

我正在尝试使用MS SQL Server 2005导入/导出工具导出表,以便将其导入另一个数据库进行存档。其中一列是文本,因此如果我以逗号分隔的形式导出,当我尝试将其导入存档表时,该字段中带有逗号的行将无法正常工作。我应该选择哪些选项来确保导入正常工作?

使用引号作为文本限定符

文本限定符:
键入要使用的文本限定符。例如,可以指定每个文本列都用引号括起来

使用引号作为文本限定符

文本限定符:
键入要使用的文本限定符。例如,可以指定每个文本列都用引号括起来

除非客户要求,否则我从不使用逗号delimter。试着用|作为代用品。如果需要,也可以使用文本限定符。

除非客户机需要,否则我从不使用逗号delimter。试着用|作为代用品。如果需要,您也可以使用文本限定符。

一年后,由于

  • -N使用本机类型
  • -不要使用受信任的连接
  • -服务器名
  • -E保留数据文件中指定的标识值

非常快速且易于嵌入到代码中

一年多之后,我现在有了一个理想的解决方案来满足我的数据导出需求,这要归功于

  • -N使用本机类型
  • -不要使用受信任的连接
  • -服务器名
  • -E保留数据文件中指定的标识值

非常快速且易于嵌入到代码中

这与使用逗号分隔符的问题相同。如果任何行中有一个|,它将无法正确导入。这种情况远比不上有a,但仍然很常见,无法正常工作。我每周从50或60个不同的客户处导入数百个数据,只有几次我们的数据中有a。在这些情况下,我们使用~作为delimter或添加文本限定符。在一个案例中,我们要求他们修复2000万条记录文件中的一条违规记录,以避免改变流程。如果您正在导出,您可以控制数据,并且可以找到带有|的记录,并在导出之前将其修复为使用其他字符。使用逗号更难做到这一点,因为使用逗号时数据的含义与使用| s时数据的含义不同。这与使用逗号分隔的问题相同。如果任何行中有一个|,它将无法正确导入。这种情况远比不上有a,但仍然很常见,无法正常工作。我每周从50或60个不同的客户处导入数百个数据,只有几次我们的数据中有a。在这些情况下,我们使用~作为delimter或添加文本限定符。在一个案例中,我们要求他们修复2000万条记录文件中的一条违规记录,以避免改变流程。如果您正在导出,您可以控制数据,并且可以找到带有|的记录,并在导出之前将其修复为使用其他字符。使用逗号更难做到这一点,因为当使用逗号时数据的含义与使用| s时数据的含义相反。我也尝试使用引号作为文本限定符,但我的大多数行中都有一个。从我所知,导出的数据无法逃脱现有的“我也尝试使用引号作为文本限定符,但我的大多数行都有一个”“不管怎样。据我所知,导出的数据无法脱离现有的
bcp "SELECT * FROM CustomerTable" queryout "c:\temp\CustomerTable.bcp" -N -S SOURCESERVERNAME -T 

bcp TargetDatabaseTable in "c:\temp\CustomerTable.bcp" -N -S TARGETSERVERNAME -T -E