以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]导入数据内存溢出问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=143494)

--  作者:hcy1996
--  发布时间:2019/11/26 17:56:00
--  [求助]导入数据内存溢出问题
各位老师好,我通过狐表导入txt到sql中,代码如下,近期使用同事反映出现out of memory错误,但是将导入文件分开之后可正常导入,请问可否在不分开文件的前提下一次性导入,谢谢!
代码如附件
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test.txt


--  作者:hcy1996
--  发布时间:2019/11/26 18:03:00
--  
导入文件大概在4M左右
--  作者:hcy1996
--  发布时间:2019/11/26 18:17:00
--  
刚刚将文件分成了两个部分,大的导进去了小的反而没有导进去
--  作者:hcy1996
--  发布时间:2019/11/26 18:48:00
--  
刚刚经过设置断点发现是
For i As Integer = 1 To ary.length-1
            str &= """" & ary(i).replace(",", """,""") & """" & vbcrlf
        Next
这个for循环有问题

--  作者:有点蓝
--  发布时间:2019/11/27 8:52:00
--  
不要频繁的清空表数据和新增表数据。


--  作者:hcy1996
--  发布时间:2019/11/27 10:09:00
--  
有点蓝老师,我在设置断点时发现内存溢出发生在replacefor这个替换函数处,百度了一下也说replace函数极占内存,有什么比较好的解决方案吗,谢谢!
--  作者:有点蓝
--  发布时间:2019/11/27 10:15:00
--  
为什么不直接导入txt文件?http://www.foxtable.com/webhelp/topics/2629.htm

还要做个转换保存后再导入?纯粹多余的

--  作者:hcy1996
--  发布时间:2019/11/27 10:35:00
--  
这个我估计是第一任开发者处理源数据吧。。我看出来了换行符替换,但是replace那句的意图没看出来。。
--  作者:有点蓝
--  发布时间:2019/11/27 10:48:00
--  
业务的东西我也看不懂。也没看出有什么用,建议直接导即可
--  作者:hcy1996
--  发布时间:2019/11/27 10:56:00
--  
也是,我先直接导往sql里看一下导入结果吧。。我主要是没看懂
For i As Integer = 1 To ary.length-1
            str &= """" & ary(i).replace(",", """,""") & """" & vbcrlf
        Next
这个for循环到底是做了什么替换