Foxtable(狐表)用户栏目专家坐堂 → [求助]导入数据内存溢出问题


  共有3204人关注过本帖树形打印复制链接

主题:[求助]导入数据内存溢出问题

帅哥哟,离线,有人找我吗?
hcy1996
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:52 积分:485 威望:0 精华:0 注册:2018/12/28 11:36:00
[求助]导入数据内存溢出问题  发帖心情 Post By:2019/11/26 17:56:00 [显示全部帖子]

各位老师好,我通过狐表导入txt到sql中,代码如下,近期使用同事反映出现out of memory错误,但是将导入文件分开之后可正常导入,请问可否在不分开文件的前提下一次性导入,谢谢!
代码如附件
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test.txt


 回到顶部
帅哥哟,离线,有人找我吗?
hcy1996
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:52 积分:485 威望:0 精华:0 注册:2018/12/28 11:36:00
  发帖心情 Post By:2019/11/26 18:03:00 [显示全部帖子]

导入文件大概在4M左右

 回到顶部
帅哥哟,离线,有人找我吗?
hcy1996
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:52 积分:485 威望:0 精华:0 注册:2018/12/28 11:36:00
  发帖心情 Post By:2019/11/26 18:17:00 [显示全部帖子]

刚刚将文件分成了两个部分,大的导进去了小的反而没有导进去

 回到顶部
帅哥哟,离线,有人找我吗?
hcy1996
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:52 积分:485 威望:0 精华:0 注册:2018/12/28 11:36:00
  发帖心情 Post By:2019/11/26 18:48:00 [显示全部帖子]

刚刚经过设置断点发现是
For i As Integer = 1 To ary.length-1
            str &= """" & ary(i).replace(",", """,""") & """" & vbcrlf
        Next
这个for循环有问题

 回到顶部
帅哥哟,离线,有人找我吗?
hcy1996
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:52 积分:485 威望:0 精华:0 注册:2018/12/28 11:36:00
  发帖心情 Post By:2019/11/27 10:09:00 [显示全部帖子]

有点蓝老师,我在设置断点时发现内存溢出发生在replacefor这个替换函数处,百度了一下也说replace函数极占内存,有什么比较好的解决方案吗,谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
hcy1996
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:52 积分:485 威望:0 精华:0 注册:2018/12/28 11:36:00
  发帖心情 Post By:2019/11/27 10:35:00 [显示全部帖子]

这个我估计是第一任开发者处理源数据吧。。我看出来了换行符替换,但是replace那句的意图没看出来。。

 回到顶部
帅哥哟,离线,有人找我吗?
hcy1996
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:52 积分:485 威望:0 精华:0 注册:2018/12/28 11:36:00
  发帖心情 Post By:2019/11/27 10:56:00 [显示全部帖子]

也是,我先直接导往sql里看一下导入结果吧。。我主要是没看懂
For i As Integer = 1 To ary.length-1
            str &= """" & ary(i).replace(",", """,""") & """" & vbcrlf
        Next
这个for循环到底是做了什么替换

 回到顶部
帅哥哟,离线,有人找我吗?
hcy1996
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:52 积分:485 威望:0 精华:0 注册:2018/12/28 11:36:00
  发帖心情 Post By:2019/11/27 11:31:00 [显示全部帖子]

最后的确,莽过去了,直接导入的数并没有什么问题,我怀疑是很早以前从上面弄来的数据带引号什么的所以要二次加工

 回到顶部
帅哥哟,离线,有人找我吗?
hcy1996
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:52 积分:485 威望:0 精华:0 注册:2018/12/28 11:36:00
  发帖心情 Post By:2019/11/27 14:38:00 [显示全部帖子]

有点蓝老师,最后这个问题圆满解决了但是还有一个小尾巴,在直接导入时之前发生了未引用到实例的报错,最后通过将文本文件的编码由UTF-8转换为ANSI解决了,请问merger方法对于txt是否只支持ANSI呢,谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
hcy1996
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:52 积分:485 威望:0 精华:0 注册:2018/12/28 11:36:00
  发帖心情 Post By:2019/12/3 11:53:00 [显示全部帖子]

有点蓝老师,后来成功导入后最近我发现在改为直接导入后有一列纯数字列导进SQL的数变成科学计数法显示了,有什么方法可以使其显示完整数字吗,表中这一列目前的结构是字符型。

 回到顶部
总数 23 1 2 3 下一页