我正在编写脚本,每天将一些表导出为平面文件。我正在查看BCP实用程序,但我不确定它是否具有我真正需要的功能。
例如,我需要不按顺序输出字段。也就是说,MSSQL数据库中的第15个字段应该是平面文件中的第2个字段,et.c
更重要的是,有些字段需要更改。例如,如果某个字段为null或包含一些特殊值,我需要用代码替换它们。
BCP是否是正确的工具?我的直觉告诉我在Perl中这样做。
答案 0 :(得分:1)
您可以编写存储过程并在那里进行所有数据转换。 然后将此存储过程提供给 bcp 。
肯定会比Perl更快。
SSIS也很快;如果转换非常复杂,可以选择。
答案 1 :(得分:1)
您可以使用查询直接使用BCP
对列进行排序和格式化"查询"
是一个返回结果集的Transact-SQL查询。
示例:
bcp "SELECT Name FROM AdventureWorks.Sales.Currency" queryout Currency.Name.dat -T -c