SQL 服务器 BCP 实用程序 - 导入时忽略列

SQL Server BCP utility - ignore column while importing

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

考虑这个 table 结构。

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 时,我想从输入中排除第四列。这样我的 table 从 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

这可能吗?

谢谢大家

使用 BCP 的 -f 选项。此选项用于包含格式文件以指示 BCP 实用程序查看和处理格式文件中所述的数据。

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

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