1

我每天都在编写脚本来将一些表导出到平面文件。我正在查看 BCP 实用程序,但我不确定它是否具有我真正需要的功能。

  1. 例如,我需要乱序输出字段。即MSSQL数据库中的第15个字段应该是平面文件中的第2个字段,etc.c

  2. 更重要的是,一些字段需要更改。例如,如果某个字段为空或包含一些特殊值,我需要将它们替换为代码。

BCP 是解决此问题的正确工具吗?我的直觉告诉我改用 Perl 来做这件事。

4

2 回答 2

1

您可以编写一个存储过程并在那里进行所有数据转换。然后将此存储过程提供给bcp

它肯定会比 Perl 快。

SSIS 也很快;如果转换非常复杂,可能是一种选择。

于 2013-04-08T14:51:34.927 回答
1

您可以使用查询直接使用 BCP 对列进行排序和格式化

bcp 实用程序

"query"
是返回结果集的 Transact-SQL 查询。

例子:

bcp "SELECT Name FROM AdventureWorks.Sales.Currency" queryout Currency.Name.dat -T -c
于 2013-04-08T15:17:06.920 回答