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”)的格式文件是做到这一点的方法。
我是 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”)的格式文件是做到这一点的方法。