使用BCP cmd实用程序将CSV导入SQL表

时间:2012-03-08 00:04:32

标签: ssis bulkinsert bcp

我的源CSV以逗号分隔。

实施例

Col1, Col2, Col3

Destinatin SQL表

Col1, Col2, Col3, Col4, Col5(Col4和Col5就像审核列一样)

因此,当我执行bcp导入时,这些Col4和Col5可以设置为某些默认值,或者在执行bcp cmd之前我是否必须按摩数据/源文件以包含这些值。

哪种方式首选。

使用SSIS读取源/派生审计列并映射到目标。

或任何其他正确的方式。

1 个答案:

答案 0 :(得分:2)

我认为你有几个选择:

  1. 更改目标表的架构,以便在两列上包含DEFAULT约束,这些约束不会使用导入文件中的值进行更新(如果不需要,则稍后将其删除< / p>

  2. 构建一个SSIS包 - 它可能需要大约相同的时间,因为您使用bcp

  3. 搜索Interweb获取解决方案的时间
  4. 尝试使用BULK INSERTsqlcmd.exe或SQL Server Management Studio并添加默认值(SELECT c1, c2, c3, 'My default', GETDATE() FROM OPENROWSET('MSDASQL', 'Driver={Microsoft Text Driver (*.txt; *.csv)}; DefaultDir=C:\Path\To\Folder\With\CSV;','SELECT * FROM MyCsv.csv')