SQL Server BCP实用程序-导入时忽略列

时间:2018-09-17 18:00:57

标签: sql sql-server bcp

我是BCP utility的新手。我想知道在导入时是否有排除列的方法。

考虑此表结构。

CREATE TABLE [dbo].[test_temp]
(
    [Column1] [varchar](100) NULL,
    [Column2] [varchar](100) NULL,
    [Column3] [varchar](100) NULL,
) 
ON [PRIMARY]
GO

我的输入文件(inputData)有4列:

Column1Value, Column2Value, Column3Value, Column4ValueExclude

运行BCP时,我想从输入中排除第四列。这样我的表从Column1,Column2,Column3中获取值。

bcp "testDB.dbo.test_temp" in  c:\temp\test\inputData.csv -c -t,  -T -S "testDBServer" -e c:\temp\test\error.csv

这可能吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

对BCP使用-f选项。此选项包括一个格式文件,用于指导BCP实用程序查看和处理格式文件中所述的数据。

使用格式文件,可以指定文件中的哪些列映射到目标表中的哪些列。要排除列,只需将其目标值设置为“ 0”即可。

格式化文件和bcp实用程序本身就是一个更大的主题,但是可以回答您的问题;是的,这是可能的,并且使用具有修改后的目标值(设置为“ 0”)的格式文件是一种方法。