【发布时间】:2011-11-10 20:37:25
【问题描述】:
我有一个包含 600 万行的 CSV 文件。每行由相同的格式组成,例如/
I,h,q,q,3,A,5,Q,3,[,5,Q,8,c,3,N,3,E,4,F,4,g,4,I,V,9000,0000001-100,G9999999990001800000000000001,G9999999990000001100PDNELKKMMCNELRQNWJ010, , , , , , ,D,Z
我在一个表中有 2 列。
第一列应该是 CSV 中的字段 27,第二列应该是 CSV 文件中的整行。
我尝试设置格式文件,但无法正常工作。
甚至可以进行这种映射吗?
这是我所拥有的:
BULK INSERT Staging FROM 'C:\Data.txt'
WITH
(
FIELDTERMINATOR =',',
ROWTERMINATOR ='\n',
KEEPNULLS,
formatfile='C:\format.fmt'
)
这是我的格式文件
9.0
2
1 SQLCHAR 0 40 "," 27 Col27 SQL_Latin1_General_CP1_CI_AS
2 SQLCHAR 0 200 "\r\n" 1 Col1 SQL_Latin1_General_CP1_CI_AS
就比较而言,我在 SQLite 中进行了这项工作,需要 2 分 35 秒。
【问题讨论】:
-
有可能吗?是的。也许您可以将您尝试过的内容包括在内,并且有人可能会发现问题。
-
现在我看到了您要执行的操作,我认为您必须使用临时表,正如 Chris Townsend 所建议的那样。
标签: sql sql-server sql-server-2008 sql-server-express bulkinsert