一百万条记录添加到数据库,求最快的方法(100分)

  • 主题发起人 主题发起人 ccdarkness
  • 开始时间 开始时间
C

ccdarkness

Unregistered / Unconfirmed
GUEST, unregistred user!
如题
access数据库
 
我以前是这样做得
根据一定的格式把这些记录写到文本文件上 再使用SQL语句实现从txt到mdb的一次导入 具体实现参考一下前人们的帖子吧
 
insert into tablename(F_id,F_NAME,F_SIZE) Select F_id,F_NAME,F_SIZE From [Text;Database=c:/temp].aaa.txt')
文本格式
1 name1 1k
2 name2 1k
3 name3 1k
... ... ...
空白的是换行符,但是我导入就是错误,不知道为什么,可以给个demo吗?
 
比如压导入SM.txt 
要配置schema.ini 和你的SM.txt放在一起
schema.ini的内容为
[SM.txt]
ColNameHeader=False
Col1=FID Long
Col2=FAcntID Short
Col3=FSMContent Text Width 255
Col4=FStatus Short
Col5=FBoxID Short
Col6=FTime Date
Col7=FType Short
Col8=FTime2 Date
hdr=Yes
Format=TabDelimited

其中TabDelimited的含义为列之间以#7分隔
 
但是要导入很多个文件就必须要建很多schema.ini 这样是不是太麻烦了
听说有什么ADO缓存更新,不知道是怎么回事
 
同意Avalon的第一个方法,写好格式就行。
 
能更快就行
 
试验过了,缓存更新也是很慢的,10万条数据写入数据库要20分钟,每秒80多条,还是不够快,只有文本是最快的,那位可以写个demo?
我原来导入成功过,但现在就是不行,不知道为什么了
 
对的,文本操作比较简单
 
BULK INSERT sms..sms_lead
FROM 'C:/Documents and Settings/Administrator/桌面/123.txt'
WITH (
FIELDTERMINATOR ='/T', /t是以TAB来个开
ROWTERMINATOR = '/n'
)
 
shadowpj:
是access数据库也可以用你说的语句吗?
 
DTS的要求很高,如果在网络上一旦丢一个数据包,整个导入就失败
Bulk Insert
批量导入数据效率最高的模式,可以试试
 
我是在本地操作的,网络问题可以忽略
谢谢各位,我试一试
 
后退
顶部