【问题标题】:Best way to load CSV files into SQL Server 2008?将 CSV 文件加载到 SQL Server 2008 的最佳方法?
【发布时间】:2012-12-16 22:19:06
【问题描述】:

我有一个抓取 CSV 文件的脚本。每天我会收到 36 个单独的 CSV 文件,每个文件包含大约 100 行数据。

我想每天将这些加载到 SQL Server 2008 中。我试过使用批量插入,但它不太喜欢我的 CSV 文件,引号不一致。

我刚刚发现了BCP.exe,这是一个好的解决方案吗?

CSV 文件如下所示(忽略顶行)

24544,"1970-01-01 10:00:00","8056060 kWh"
24544,"2012-12-04 00:15:00",0.176
24544,"2012-12-04 00:30:00",0.163
24544,"2012-12-04 00:45:00",0.016

【问题讨论】:

  • " 它不喜欢....不一致的引号。"没有人喜欢不一致的引号。无论采用何种解决方案,您都必须清理数据。

标签: sql sql-server-2008 bulkinsert bcp bulk


【解决方案1】:

先建表再执行查询

BULK
INSERT CSVTest           -- the tableName
FROM 'c:\csvtest.txt'    -- file location
WITH  
(
    FIELDTERMINATOR = ',',
    ROWTERMINATOR = '\n'
)
GO

【讨论】:

  • 嗨,BULK INSERT 不喜欢用引号括起来的日期字段。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-04-05
  • 2018-07-22
  • 1970-01-01
  • 2017-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多