我是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
这可能吗?
谢谢。
答案 0 :(得分:2)
对BCP使用-f选项。此选项包括一个格式文件,用于指导BCP实用程序查看和处理格式文件中所述的数据。
使用格式文件,可以指定文件中的哪些列映射到目标表中的哪些列。要排除列,只需将其目标值设置为“ 0”即可。
格式化文件和bcp实用程序本身就是一个更大的主题,但是可以回答您的问题;是的,这是可能的,并且使用具有修改后的目标值(设置为“ 0”)的格式文件是一种方法。