我有多个具有相同列模式(450列)的csv文件。我只需要占用第340位的一列并将该列数据插入SQL Server2016。我可以使用批量插入,但是在此之前,我需要创建一个450列的临时表,这需要很长时间。我是否可以使用其他方法来仅获取特定列(第340列)并将其数据插入SQL Server?
答案 0 :(得分:0)
使用SQL Server导入导出向导来转储特定的列数据。 https://docs.microsoft.com/en-us/sql/integration-services/import-export-data/start-the-sql-server-import-and-export-wizard?view=sql-server-ver15
答案 1 :(得分:0)
我会使用SSIS来进行这样的事情。批量插入也可以使用,但是要进行设置和工作还需要更多的工作。
create table test (field1 varchar(255), field2 varchar(255), field3 varchar(255))
go
bulk insert test
from 'c:\myFilePath\mycsv.csv'
with
(fieldterminator=',',
rowterminator='\n'
)
ALTER TABLE test DROP column [field1]
或...批量将所有内容插入到临时表中,然后从那里将所需的内容加载到最终母表中。
答案 2 :(得分:0)
Azure数据工厂(ADF)可以执行此操作。基本上,您将上传csv文件,ADF将根据CSV结构创建一个JSON模板(您也可以手动进行编辑)。然后在导入步骤中。您只需从导入JSON模板中删除不需要的列,然后点击播放即可。
遵循本指南:https://docs.microsoft.com/en-us/azure/data-factory/quickstart-create-data-factory-copy-data-tool