以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  万条数据批量导入SQL很慢  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=69459)

--  作者:makun066
--  发布时间:2015/6/5 14:29:00
--  万条数据批量导入SQL很慢

万条Excel数据/txt文本数据,进行初步处理(每行加一个序号ID),放入SQL数据库,执行很慢,将近3分钟。求大神能指点一二!!!


--  作者:大红袍
--  发布时间:2015/6/5 14:30:00
--  

1、用什么方式导入;

 

2、看是否触发了Datacolchanged事件代码


--  作者:Bin
--  发布时间:2015/6/5 14:33:00
--  
参考一下这里. 编写SQL语句保存
--  作者:makun066
--  发布时间:2015/6/5 14:37:00
--  
好的,我试下。就是加事务应该怎么加?
--  作者:makun066
--  发布时间:2015/6/5 14:41:00
--  

额,新手,我也不知道有没有触发Datacolchanged事件,部分代码如下:

 \'行内容处理
        Rg = Ws.Range("A7:L50007")   \'5w行数据
        For i As Integer= 2 To Rg.Rows.Count     \'行数  第一行标题舍弃
            If Rg.Cells(i,1).value <>0 Then    \'计算Id不为空
                maxId=maxId+1
                sSQL ="insert into " & DataName & " values(\'" & maxId & "\',\'" & intime & "\',\'" & time & "\',"
                For  j As Integer= 1 To Rg.Columns.Count \'列数
                    If j=7 Then
                        value(j-1)=sId  \'业务名称换成Id
                    Else
                        value(j-1)=Rg.Cells(i,j).value
                    End If
                    If value(j-1)<>"" Then
                        sSQL=sSQL & "\'" & value(j-1) & "\',"
                    Else
                        sSQL=sSQL & "NULL" & ","
                    End If
                    If j =Rg.Columns.Count  Then
                        sSQL=sSQL & "\'0\',NULL)"
                    End If
                Next
                zSQL =zSQL & sSQL & ";"
            End If
        Next    
        cmd.CommandText = zSQL
        cmd.ExecuteReader()
        zSQL=""


--  作者:大红袍
--  发布时间:2015/6/5 14:42:00
--  

http://www.foxtable.com/help/topics/2933.htm

 


--  作者:makun066
--  发布时间:2015/6/5 14:45:00
--  
好的,谢谢
--  作者:makun066
--  发布时间:2015/6/5 14:57:00
--  
用了事务还是很慢,怎么破?
--  作者:Bin
--  发布时间:2015/6/5 15:01:00
--  
数据量大.慢就是慢了.没办法哦. 不要一次性处理这么多数据

或者加个提示文字 正在处理中.....

--  作者:makun066
--  发布时间:2015/6/5 15:06:00
--  

这没办法呀,必须处理的哎。每次都是手动在Excel批量处理,然后用数据库导入工具导入的。想偷懒都不行呀