【发布时间】:2016-04-18 14:45:31
【问题描述】:
这可能是一个重复的问题,但我找不到答案。请帮我! :)
我有一个大型数据集,我不想将整个数据集导入服务器: 1. 需要很长时间。 2. 由于来自本地平面文件,因此内存不足。
因此,我只想导入选定的数据,例如某个时间段的数据。
这是一个例子:
姓名、年龄、开始日期
a,24,20150102
b,23,20150304
c,28,20160419
假设我只想要 2015 年的行 - 过滤掉 2016 年的第三行。在导入期间如何做到这一点(不导入整个数据集然后运行选择)?我目前正在为我的查询使用向导和批量插入。
bulk insert [a].[dbo].[testdata]
from 'C:\fakepath\testdata.txt'
with
(firstrow=2,
fieldterminator = ',',
rowterminator = '\n')
如果无法过滤,在加载过程中将数据集切成两半也可以。
请帮帮我,谢谢!
【问题讨论】:
-
bulk insert相当不灵活,要么全有,要么全无。愿我在这里给出的答案对你有所帮助:stackoverflow.com/questions/36593116/… -
感谢您的回复。链接中的解决方案仍然需要将所有数据加载到一个表中。我想知道如何部分加载数据。 (如果这不起作用,我绝对可以使用其他导入方法而不是批量插入。:))
标签: sql-server sql-server-2008 import